jenkins - 如何调用Jenkins中存储的凭据以从Jenkinsfile中部署到自定义Nexus?

标签 jenkins gradle jenkins-pipeline nexus

我有一个用于项目相关实用程序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/

相关文章:

security - 锁定 Jenkins

jenkins - 达到阈值时如何修复不稳定的构建?

Jenkins 测试结果到 Zephyr

jenkins - 绕过代码中的脚本安全插件

docker - 在一个 Docker Swarm 部署中组合多个项目的良好实践?

jenkins - 如何访问 Jenkins Pipeline 项目中的 Junit 测试计数

javascript - 如何使用 GULP/NODE 在 JavaScript 中获取 Jenkins BUILD_NUMBER?

spring - 使用Spring设计和实现Web应用程序教程中有什么问题

groovy - <<在groovy中是什么意思

java - 如何在IntelliJ中调试Vaadin应用程序