2

Jenkinsfile を使用したコード チェックアウトはリモート オリジンに http を使用しているようで、代わりに ssh を使用したいと考えています。

#!groovy

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

これにより、ssh オリジンではなく https オリジンが出力されます。ジョブは 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 に答える