如何为gradle提供正确的设置?

时间:2016-08-19 17:45:48

标签: gradle credentials artifactory

使用Jenkins进行CI,我需要使用Gradlemaven发布的隐藏凭据。我的凭据在Jenkins而不是源代码中应用。 Maven设置在settings.xml,但我想在Jenkins中定义属性。我会在命令行中使用什么来执行此操作?我想象

gradle -Dsomething.username=blah -Dsomething.password=secret

1 个答案:

答案 0 :(得分:0)

可能有更好的方法,但这就是我们这样做的方法:我们使用自定义项目属性在build.gradle中定义目标maven存储库,然后通过命令行提供这些属性:

uploadArchives {
    repositories {
        mavenDeployer {
            repository(url: "https://your-repo-server.company.com/your-built-artifacts") {
                authentication(userName: project.getProperties()['nexusUploadUsername'], password: project.getProperties()['nexusUploadPassword'])
            }
        }
    }
}

gradle -PnexusUploadUsername=blah -PnexusUploadPassword=secret

您还可以更进一步,将它们配置为Jenkins构建参数或环境变量,以防止人们在日志中看到它们(不要忘记设置“掩码密码”复选框):gradle -PnexusUploadUsername=$JENKINS_NEXUS_USER -PnexusUploadPassword=$JENKINS_NEXUS_PASSWORD