如何将Git SSH凭据传递给Jenkins中的Gradle发布插件?

如何将Git SSH凭据传递给Jenkins中的Gradle发布插件?,jenkins,gradle,gradle-release-plugin,Jenkins,Gradle,Gradle Release Plugin,我试图在我们客户的Jenkins(1.x,因此没有Jenkins文件管道)上使用Gradle…假设这是一个自由式作业,并且您使用私钥进行身份验证: 选中选项使用密文或文件。选择git凭据并输入需要导入的环境变量的名称 在Gradle build part中,将关键环境变量(以及其他变量,如果需要)作为项目属性导入:-Pkeylocation=$key\u variable\u NAME Gradle release不允许配置git凭据。即使这个问题是不必要的,我也会提出两种不同的可能性来解决这个

我试图在我们客户的Jenkins(1.x,因此没有Jenkins文件管道)上使用Gradle…假设这是一个自由式作业,并且您使用私钥进行身份验证:

  • 选中选项
    使用密文或文件
    。选择git凭据并输入需要导入的环境变量的名称
  • 在Gradle build part中,将关键环境变量(以及其他变量,如果需要)作为项目属性导入:-Pkeylocation=$key\u variable\u NAME

  • Gradle release不允许配置git凭据。即使这个问题是不必要的,我也会提出两种不同的可能性来解决这个问题,因为我整天都在努力解决这个问题。为什么?因为我不再被允许在公司中使用SSH,而我们正转向docker容器来分发我们的CI管道:

    1.)如前所述,将SSH密钥放在用户jenkins~/.SSH/id_rsa下

    2.)在gradle发布之前使用“Execute shell”配置远程:

    令牌必须配置为。这是为了回答最初的问题

    3.)管道的使用可包括更多高级功能。我将Jenkins文件放在下面以执行gradle发布(您也可以使用
    sshagent(凭证:['credential'])
    ,然后您就不需要git了:


    你解决过这个问题吗?恐怕没有。此后,客户机将Jenkins升级为可编写脚本的版本,这使得此问题变得不必要。
        // GITLAB_API_TOKEN
        withCredentials([string(credentialsId: 'nexususer', variable: 'nexusUsername'),
            string(credentialsId: 'nexuspassword', variable: 'nexusPassword'),
            string(credentialsId: 'nexussnapshoturl', variable: 'nexusSnapshotUrl'),
            string(credentialsId: 'nexusreleaseurl', variable: 'nexusReleaseUrl'),
            string(credentialsId: 'token', variable: 'GITLAB_API_TOKEN')]) {
            if (env.BRANCH_NAME == "master") {
                stage('Release') {
                    gitlabCommitStatus(name: 'Release') {
                        // Run the gradle release
                        sh 'git config user.email "email"'
                        sh 'git config user.name "name"'
                        sh "git remote rm origin"
                        sh "git remote add origin https://username:${GITLAB_API_TOKEN}@yourrepo"
                        sh "gradle clean release -Prelease.useAutomaticVersion=true"
                    }
                }
            }
        }