使用Jenkins进行CI,我需要使用Gradle
或maven
发布的隐藏凭据。我的凭据在Jenkins而不是源代码中应用。 Maven设置在settings.xml
,但我想在Jenkins中定义属性。我会在命令行中使用什么来执行此操作?我想象
gradle -Dsomething.username=blah -Dsomething.password=secret
答案 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
。