首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正确处理ssh密钥以克隆私有repos

正确处理ssh密钥以克隆私有repos
EN

Stack Overflow用户
提问于 2018-10-12 17:54:29
回答 1查看 316关注 0票数 1

由于目前我们的构建需要从私有存储库克隆依赖项,我如何使用声明性/Scripted管道正确地克隆私有存储库?

代码语言:javascript
复制
def test_cloning() {
    sshagent(["${SSH_KEY}"]) {
        sh """
            GIT_SSH_COMMAND="ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no" \
            git clone -b dev git@github.com:/org/repo_eg.git repo_eg/
        """

    }    
}

pipeline {
    agent none

    environment {
        SSH_KEY='sshkey'
    }        
    stages {
        stage('Build') {
            parallel {
                stage('static_agent') {
                    agent { label 'agent-1 }
                    steps {
                        test_cloning()
                    }
                }
                stage('static_agent') {
                    agent { label 'agent-2' }
                    steps {
                        test_cloning()
                    }
                }
                stage('swarm') {
                    agent { label 'swarm' }
                    steps {
                        sh 'mkdir ~/.ssh || true && ssh-keyscan github.com > ~/.ssh/known_hosts'
                        test_cloning()
                    }
                }                
            }
        }
    }
    post {
        always {
            node('agent-1') {
                deleteDir()
            }
            node('agent-2') {
                deleteDir()
            }
        }
    }
}
EN

回答 1

Stack Overflow用户

发布于 2018-10-12 19:31:04

希望这就是你要找的。在Jenkins服务器上创建一个以'jenkins‘用户身份登录的私钥/公钥对。使用公钥设置Git用户的配置文件(可以访问私有存储库)。将私钥添加到Jenkins服务器上的ssh-agent。

在管道脚本中使用SCM签出,以使用SSH url克隆存储库

https://jenkins.io/doc/pipeline/steps/workflow-scm-step/

Bitbucket repo示例:

代码语言:javascript
复制
checkout poll: false, scm: [$class: 'GitSCM', branches: [[name: 
"refs/heads/${branchName}"]], doGenerateSubmoduleConfigurations: false, extensions: 
[], submoduleCfg: [], userRemoteConfigs: [[url:"git@bitbucket.org:${repoName}.git"]]]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52776964

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档