gpt4 book ai didi

java - 如何在 settings.xml 的 artifactory-maven-plugin 中使用用户名和密码?

转载 作者:搜寻专家 更新时间:2023-11-01 03:47:47 24 4
gpt4 key购买 nike

Hereartifactory-maven-plugin的配置示例:

<build>
<plugins>
...
<plugin>
<groupId>org.jfrog.buildinfo</groupId>
<artifactId>artifactory-maven-plugin</artifactId>
<version>2.6.1</version>
<inherited>false</inherited>
<executions>
<execution>
<id>build-info</id>
<goals>
<goal>publish</goal>
</goals>
<configuration>
<deployProperties>
<gradle>awesome</gradle>
<review.team>qa</review.team>
</deployProperties>
<publisher>
<contextUrl>https://oss.jfrog.org</contextUrl>
<username>deployer</username>
<password>{DESede}...</password>
<repoKey>libs-release-local</repoKey>
<snapshotRepoKey>libs-snapshot-local</snapshotRepoKey>
</publisher>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>

在这种情况下,我必须手动设置 contextUrluserNamepassword。虽然标准 maven 部署插件使用 setting.xml 中的此类参数(就像那样):

<servers>
<server>
<username>username</username>
<id>server-id</id>
<password>pass</password>
</server>
</servers>

为什么 jfrom 没有使用 setting.xml 中的用户名、url 等?有没有办法只指定服务器 ID 而无需密码和用户名?

当然,有人可以在设置 xml 中定义属性并在插件定义中使用它们,但在这种情况下,这些属性可以轻松地与所有项目共享,并由任何人在第三方构建期间输出到控制台。

<properties>
<username></username>
</properties>

最佳答案

official documentation实际上提出了一种不同的方法:

Keeping your Artifactory publisher credentials secure
If you prefer to keep your Artifactory publisher credentials (username and password) secure (rather than providing them as free text in the plugin configuration), we recommend storing them as environment variables or system properties and have the plugin read them when needed. Since the usual Maven deploy does not support environment variables or system properties in settings.xml, this capability is unique to the Maven Artifactory Plugin.

因此,确实settings.xml 中定义的引用服务器 ID 的预期功能未实现


旁注:为了实现良好实践,部署到 Maven 存储库应由持续集成服务器(即 Jenkins)以自动化方式执行。在这种情况下,CI 服务器的 Artifactory 插件(即 Artifactory Jenkins Plugin )将以安全的方式处理它,仅将此机制集中在一个地方(CI 服务器),在用户管理和治理之后,避免来自本地的意外操作机器。否则可能出错的事情(从本地机器发布):

  • 代码在版本控制下可能不一致,发布更难排除故障的 Artifact
  • 测试可能已被跳过,发布了一个潜在的错误
  • 构建可能只能在那台机器上重现,发布一个不可重建的 Artifact

将它放在 pom.xml 中可能确实会以某种方式将其暴露给上述问题(团队中的某些人可能会错误地触发它),而自动化流程和门将确保某些步骤。

关于java - 如何在 settings.xml 的 artifactory-maven-plugin 中使用用户名和密码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39564407/

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