gpt4 book ai didi

maven - 将自定义 settings.xml 提供给 Maven 发布插件

转载 作者:行者123 更新时间:2023-12-02 04:50:19 24 4
gpt4 key购买 nike

我正在尝试使用通常的 Maven Release Plugin 从 Travis 发布版本.为了为我的 GPG key (和一些其他参数)提供密码,我有一个 travis 分支,其中包含我在构建过程中 check out 的 settings.xml。然后我运行 Maven 给它一个自定义设置 (--settings) 并确保它在发布期间也通过 -Darguments 传播:

mvn release:prepare --settings ${MVN_SETTINGS} -B -V \
-PwithMutationTests,gpg,rpm,deb \
-Darguments="--settings ${MVN_SETTINGS}"
mvn release:perform --settings ${MVN_SETTINGS} -B -V \
-PwithMutationTests,gpg,rpm,deb \
-Darguments="--settings ${MVN_SETTINGS}"

日志表明我的设置已传递:

[INFO] Executing: /bin/sh -c cd /home/travis/build/jmxtrans/jmxtrans \
&& /usr/local/maven/bin/mvn \
-s /tmp/release-settings1372267334822299631.xml \
clean verify --no-plugin-updates --batch-mode \
--settings /home/travis/build/jmxtrans/jmxtrans/target/travis/settings.xml \
-Psonatype-oss-release -P withMutationTests,gpg,rpm,deb

Maven Release Plugin 似乎还添加了 -s/tmp/release-settings1372267334822299631.xml 这可能优先于我的 settings.xml(我找不到这方面的文档)。

最后,我的构建失败了,因为它找不到我的 GPG key :

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-gpg-plugin:1.1:sign (sign-artifacts) on project jmxtrans: Cannot obtain passphrase in batch mode -> [Help 1]

我相当确定 settings.xml 没有问题并且包含所有必要的信息:我对 SNAPSHOT 构建使用相同的 settings.xml 并且它们已正确进行 GPG 签名。

如何确保我的设置在发布期间得到使用?

编辑:

我的 settings.xml 的相关部分:

<profile>
<id>gpg</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<gpg.homedir>./target/travis/</gpg.homedir>
</properties>
</profile>

问题实际上可能来自 gpg.homedir 属性是相对路径而不是绝对路径。仍在检查,如果是这样的话会添加一个答案。

其他资源:

最佳答案

似乎我的问题与 GPG 主目录不是绝对路径有关。将我的 settings.xml 更改为:

<profile>
<id>gpg</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<gpg.homedir>/home/travis/build/jmxtrans/jmxtrans/target/travis/</gpg.homedir>
</properties>
</profile>

另一个问题是默认准备目标包括clean,它会删除我的 GPG key 的 checkout 。

关于maven - 将自定义 settings.xml 提供给 Maven 发布插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29328903/

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