gpt4 book ai didi

maven - 使用 Travis CI 将 Maven 版本部署到 Github

转载 作者:行者123 更新时间:2023-12-04 17:00:06 24 4
gpt4 key购买 nike

我成功地使用标签将 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com