2014-09-18 20 views
5

Etiketleri kullanarak bir maven projesinden Github'a bir JAR'ı başarıyla dağıtmayı başardım. Bununla birlikte, geçerli yapılandırma JAR'ın dosya adının her zaman aynı kaldığını varsayar ki, o da olmaz. Yeni bir yayın yaptığımda, bu şekilde değişecek ve dağıtım başarısız olacaktır.Travis CI kullanarak Github'a bir Maven sürümünün dağıtımı

YAML dosyasında joker karakterler kullanmanın bir yolu var mı? Stackoverflow'ta ve web'de bulduğumdan, YAML'de joker karakterler desteklenmiyor. Bunu yapmak istemediğim .travis.yml dosyasının kendiliğinden manipüle edilmeden bunu yapmak için başka bir hack bulamadım.

Sürüm dizesi pom.xml'da kullanılabilir.

Güncel .travis.yml: Ben kesinlikle bir türlü ama sonra Travis CI kendi yapılandırma dosyasını değiştirecek ve bu a) çalışacak emin değilim b script) bir olduğunu olabilir

language: java 
jdk: 
- openjdk7 

deploy: 
    provider: releases 
    api_key: 
    secure: asfdsdflkjsdflkj... 
    file: target/helloci-1.0-SNAPSHOT.jar 
    on: 
    repo: ktk/helloci 
    all_branches: true 
    tags: true 

İyi bir fikir.

Repo ben oynuyorum: https://github.com/ktk/helloci

cevap

2

joker karakterler

artık destekleniyor, ben bu kurulumu çalıştırmak
1

Maalesef joker desenler anda çalışmıyor, ama biz Travis CI o mümkün kılan bir göz gerekir.

9

Ara çözüm maven sabit adını kullanarak dosyası oluşturmak sahip olmaktır, bu bina değilseniz muhtemelen maven sözleşmeler uyarınca adı tutmak istiyorum Ancak

<build> 
    <finalName>helloci</finalName> 
</build> 

ile yapılabilir travis-ci.

<properties> 
    <finalName>${project.artifactId}-${project.version}</finalName> 
</properties> 
<build> 
    <finalName>${finalName}</finalName> 

Ve .travis.yml dosyaya aşağıdaki 2 satırı ekleyerek maven çalıştırırken -DfinalName=helloci geçen:

before_install: mvn install -DskipTests=true -DfinalName=helloci 
install: mvn test 

Ayrıca, kullanıcıların Sen pom aşağıdaki ekleyerek bunu başarabilirsiniz Etiket adını oluşturulan dosyanın adına eklemek istiyorum. Bu ile elde edilebilir:

before_deploy: 
    - "mvn -DskipTests package" 
    - export FOO=$(ls target/foo-version-*.jar) 

deploy: 
    provider: releases 
    api_key: 
    secure: yep 
    file: "${FOO}" 
:
before_install: mvn install -DskipTests=true -DfinalName=helloci-$TRAVIS_TAG 
deploy: 
    file: target/helloci-$TRAVIS_TAG.jar 
İlgili konular