2

似乎使用 Jenkinsfile 的代码签出正在使用 http 作为远程源,我们确实想使用 ssh。

#!groovy

stage 'build'
node {
    checkout scm
    sh "cat .git/config"
}

这将输出一个 https 源而不是 ssh 源。该作业是使用 github-organization-pipeline 插件配置的,因此无法从 jenkins 中的作业配置中控制来源。

4

2 回答 2

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.

于 2016-04-01T14:53:29.490 回答
0

组织文件夹的配置屏幕有一个使用特定结帐凭证的选项,通常是 SSH 私钥。默认情况下,它使用 API 扫描凭据,通常是可用于 HTTPS 结帐的访问令牌(GitHub 自己的建议)。

于 2016-04-03T14:24:58.170 回答