Jenkins 和 gradle 工件集成 -- 身份验证

Jenkins and gradle artifactory integration -- authentication

我不清楚如何在不提交我的凭据的情况下从 Jenkins 服务器发布到 Artifactory gradle.properties。我一直在阅读 wiki 和论坛,但似乎没有任何内容可以解决这个问题(或者我错过了)。

我们有一个共享的 Jenkins 服务器,我的项目使用 gradle。我想将我的工件部署到 artifactory 上的特定回购协议(链接到我的 artifactory 登录帐户)。我可以使用本地计算机进行部署,因为我在 gradle.properties 中设置了 artifactory_user、artifactory_password 和 artifactory_contextUrl 值。

在不提交我的人工凭证的情况下,如何从我们的 Jenkins 服务器进行部署?

我想我可以使用 Gradle-Artifactory 集成插件并使用 "Override default deployer credentials" 选项在 Jenkins UI 上指定我的凭据,它会覆盖(或设置)我的Artifactory 用户名和密码,但这似乎不起作用。

我的构建总是出现错误: * 什么地方出了错: 15:36:52 评估根项目 'TCS-master-CI' 时出现问题。 15:36:52 > 在根项目 'TCS-master-CI'.

上找不到 属性 'artifactory_user'

那么 Gradle Artifactory Integration 为我提供了什么?我需要在构建代码中做些什么才能使其正常工作吗?

我需要在共享的 Jenkins 服务器上的某处指定 gradle.properties 吗?

我将不胜感激任何人的帮助。

谢谢。

这是您可以从 Jenkins 服务器发布到 Artifactory 而无需在 gradle.properties 中提交凭据的方法:

artifactory {
  publish {
    repository {
      username = project.hasProperty('artifactory_user') ? project.artifactory_user : System.getenv()['ARTIFACTORY_USER']
      password = project.hasProperty('artifactory_password') ? project.artifactory_password, : System.getenv()['ARTIFACTORY_KEY']
    }
  }
}