gpt4 book ai didi

maven - 在哪里保存 setting-security.xml 文件以使用 Maven 加密?

转载 作者:行者123 更新时间:2023-12-04 04:29:57 25 4
gpt4 key购买 nike

我们使用的是 TeamCity 9.1 和默认捆绑的 Maven 版本 3.0.5

在构建中,我们使用 Maven 与 Nexus 服务器进行交互。

我们想加密 Maven settings.xml 文件中的密码,如本文所述:
http://maven.apache.org/guides/mini/guide-encryption.html

这需要一个 settings-security.xml 文件,该文件应该与 Maven settings.xml 位于同一文件夹中。
setting.xml 文件保存在 TeamCity 中,并作为自定义“用户设置选择”文件部署到服务器 - 所以我不知道它在代理上部署到哪里。

我们应该在哪里保存 settings-security.xml 文件?
这是否应该手动部署到所有代理?如果是这样,它应该在哪个文件夹中?
(我们有 Windows 和 Linux 代理)

我不确定在 TeamCity 中使用加密的 Maven 密码的最佳实践是什么,所以我会寻求任何帮助。

谢谢

最佳答案

“我不知道它在代理上的部署位置”.. 您可以在构建日志输出中找到它.. 只需搜索设置.. 使用 用户设置 文件,它们通常存储在构建代理的临时目录中。

当您尝试使用(根据 encryption guide )加密密码时:

mvn --encrypt-password my_password

它期望找到:settings-security.xml;如果这不存在,你会得到。
[ERROR] Error executing Maven.
[ERROR] java.io.FileNotFoundException: /home/krbuild/.m2/settings-security.xml (No such file or directory)
[ERROR] Caused by: /home/krbuild/.m2/settings-security.xml (No such file or directory)

所以安全文件需要存放在 各代理您打算在其上运行构建配置(不在 VCS 中)。仍然没有对此功能的专门支持;见 TW-39595

解决方法是设置代理属性,例如
path.to.maven.security=/path/to/file/security-settings.xml

然后在您的 Maven 构建步骤中引用它:
-Dsettings.security=%path.to.maven.security%

关于maven - 在哪里保存 setting-security.xml 文件以使用 Maven 加密?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33339611/

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