Jenkins和gradle artifactory整合 - 身份验证

Jas*_* K. 4 artifactory gradle jenkins

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

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

如果没有提交我的神器凭据,我如何从Jenkins服务器部署?

我以为我可以使用Gradle-Artifactory集成插件并使用"覆盖默认部署者凭据"选项在Jenkins UI上指定我的凭据,它会覆盖(或设置)我的Artifactory用户名和密码,但这似乎不起作用.

我总是在构建中得到错误:*出了什么问题:15:36:52评估根项目'TCS-master-CI'时出现问题.15:36:52>无法在根项目'TCS-master-CI'上找到属性'artifactory_user'.

那么Gradle Artifactory Integration为我提供了什么?构建代码中是否存在我需要做的事情以使其正常工作?

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

我很感激任何人的帮助.

谢谢.

JBa*_*uch 8

这是您可以在不提交gradle.properties中的凭据的情况下从Jenkins服务器发布到Artifactory的方法:

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']
    }
  }
}
Run Code Online (Sandbox Code Playgroud)