我成功地使用标签将 JAR 从 Maven 项目部署到 Github。但是,当前配置假定 JAR 的文件名始终保持不变,但事实并非如此。当我发布新版本时,这会相应地改变,因此部署将失败。
有没有办法可以在 YAML 文件中使用通配符?根据我在 Stackoverflow 和网络上的发现,YAML 不支持通配符。如果不操作 .travis.yml 文件本身,我就找不到另一个 hack 来执行此操作,我想避免这种情况。
版本字符串在 pom.xml
中可用.
当前 .travis.yml:
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
我当然可以以某种方式编写脚本,但是 Travis CI 会更改自己的配置文件,我不确定 a) 是否可行,b) 是否是一个好主意。
我正在玩的 repo :https://github.com/ktk/helloci
最佳答案
解决方法是让 maven 使用固定名称生成文件,这可以通过
<build>
<finalName>helloci</finalName>
</build>
但是,如果您不是在 travis-ci 上构建,您可能希望按照 maven 约定保留名称。您可以通过将以下内容添加到您的 pom 中来实现此目的:
<properties>
<finalName>${project.artifactId}-${project.version}</finalName>
</properties>
<build>
<finalName>${finalName}</finalName>
和路过
-DfinalName=helloci
通过将以下 2 行添加到您的 .travis.yml
来执行 maven 时文件:before_install: mvn install -DskipTests=true -DfinalName=helloci
install: mvn test
您可能还想将标记名称添加到生成的文件的名称中。这可以通过以下方式实现:
before_install: mvn install -DskipTests=true -DfinalName=helloci-$TRAVIS_TAG
deploy:
file: target/helloci-$TRAVIS_TAG.jar
关于maven - 使用 Travis CI 将 Maven 版本部署到 Github,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25916249/