1. ホーム
  2. git

[解決済み] Jenkins Pipeline Git SCM を認証情報でチェックアウトする?

2022-07-09 20:39:41

質問

私は このチュートリアル :

node {
  git url: 'https://github.com/joe_user/simple-maven-project-with-tests.git'
  ...
}

しかし、クレデンシャルをどのように追加するかは書かれていません。Jenkins には特定の "Credentials" セクションがあり、そこでユーザー user&pass を定義し、ジョブで使用するためにその ID を取得します。

で試してみました。

git([url: '[email protected]:company/repo.git', branch: 'master', credentialsId: '12345-1234-4696-af25-123455'])

no luck:

stderr: Host key verification failed.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

パイプラインでクレドを設定する方法はありますか?それともJenkinのLinuxユーザーの.ssh/authorized_keysファイルにSSH-keysを置く必要がありますか?

理想を言えば、パイプラインジョブとレポキーのリポジトリを持ち、Docker Jenkinsを起動し、Jenkinsコンソールで何も設定することなく、これらのジョブとキーを動的にそこに追加したいのですが。

どのように解決するのですか?

パイプラインで使用することができます。

git branch: 'master',
    credentialsId: '12345-1234-4696-af25-123455',
    url: 'ssh://[email protected]:company/repo.git'

sshのURLを使用している場合、認証情報はユーザ名と秘密鍵でなければなりません。sshの代わりにhttpsのクローンURLを使用している場合、認証情報はユーザ名とパスワードでなければなりません。