我有一个用于项目相关实用程序jar的自定义Nexus。我有一个 Jenkins 来造这些 jar 。
我想在项目中使用gradle和Jenkinsfile定义管道。作为最后一个阶段,我希望构建作业将 Artifact 部署到Nexus。
由于我不想在源存储库中使用Nexus的凭据(因此,在gradle脚本和Jenkinsfile中也不需要),因此我在Jenkins凭据插件中设置了凭据条目,其中包含Nexus的用户和密码。
如何在Jenkins文件中引用这些凭据,以便可以将其部署到Nexus?
目前,我的部署阶段如下所示:
stage('Publish') {
sh "gradle upload"
}
我可以完全使用gradle吗? 我知道我可以在本地使用它,但是我可以在Jenkinsfile文件中使用其他命令。
在gradle中,我使用它来定义任务:
def nexusUser = "$System.env.NEXUS_USER"
def nexusPass = "$System.env.NEXUS_PASS"
uploadArchives {
repositories {
mavenDeployer {
repository(url: "http://nexus.example.com/repository/maven-releases/") {
authentication(userName: nexusUser, password: nexusPass)
}
}
}
}
(我将用户名和密码设置为本地环境变量。当然,这不是 Jenkins 公司的选择。)
最佳答案
您可以在〜/ .gradle / gradle.properties 中设置外部变量
nexusUser=superuser
nexusPass=superpassword
关于jenkins - 如何调用Jenkins中存储的凭据以从Jenkinsfile中部署到自定义Nexus?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47818076/