Jenkins和gradle artifactory整合 - 身份验证

时间:2015-01-21 23:43:57

标签: jenkins gradle artifactory

我不清楚如何在不在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>无法找到属性&artifactory_user'在根项目' TCS-master-CI'。

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

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

我会感激任何人的帮助。

感谢。

1 个答案:

答案 0 :(得分: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']
    }
  }
}