似乎使用Jenkinsfile的代码签出使用http作为远程源,我们确实想要使用ssh。
#!groovy
stage 'build'
node {
checkout scm
sh "cat .git/config"
}
这将输出https原点而不是ssh原点。使用github-organization-pipeline插件配置作业,因此无法控制jenkins中作业配置的源。
答案 0 :(得分:0)
这是我目前的方法,这是丑陋的,我不打算为此辩护。
tokens = "${env.JOB_NAME}".tokenize('/')
org = tokens[0]
repo = tokens[1]
branch = tokens[2]
sh "git remote set-url origin git@github.com:${org}/${repo}.git"
这是有效的,因为github-organization-plugin生成的作业名称看起来像org/repo/branch
。
答案 1 :(得分:0)
组织文件夹的配置屏幕可以选择使用特定的结帐凭据,通常是SSH私钥。默认情况下,它使用API扫描凭据,通常是可用于HTTPS签出的访问令牌(GitHub自己的建议)。