Jenkins が Github でホストされているプライベート リポジトリからデータを自動的に取得するようにしたいのですが、そのタスクをどうやって実現すればいいのかわかりません。ドキュメントを試し、Jenkins ユーザーの SSH キーを生成してみましたが、表示されるのは「リポジトリをクローンできません」だけです。URL を確認しましたが、有効です。
何か手がかりはありますか? おそらく、この種のことを説明しているドキュメントやブログなどをご存知でしょうか?
ベストアンサー1
おそらくGitHubのサポートはキーを展開するあなたが探しているものは何ですか?そのページを引用すると:
デプロイキーはいつ使用すればよいですか?
単一のプライベート リポジトリへのプル アクセスが必要なサーバーがある場合は簡単です。このキーは、個人のユーザー アカウントではなく、リポジトリに直接添付されます。
すでに試していて、うまくいかない場合は、使用されている URL、キー ファイルの名前と場所などの詳細を追加して質問を更新することをお勧めします。
さて、技術的な部分です。Jenkins で SSH キーを使用するにはどうすればよいでしょうか?
たとえば、jenkins
Unix ユーザーがいる場合は、デプロイ キーを に保存できます~/.ssh/id_rsa
。Jenkins が ssh 経由でリポジトリのクローンを作成しようとすると、そのキーを使用しようとします。
設定によっては、Jenkins を自分のユーザー アカウントとして実行できず、デフォルトの ssh キーの場所 も使用できない場合があります~/.ssh/id_rsa
。このような場合は、別の場所 (例: ) にキーを作成し、のエントリでそれを使用するように~/.ssh/deploy_key
設定できます。ssh
~/.ssh/config
Host github-deploy-myproject
HostName github.com
User git
IdentityFile ~/.ssh/deploy_key
IdentitiesOnly yes
すべてのGithubリポジトリへの認証[email protected]
に上記のキーを使用したくないため、ホストエイリアスを作成しました。github-deploy-myprojectクローンURLは
git clone github-deploy-myproject:myuser/myproject
そしてそれはまたあなたがリポジトリ URLJenkins に。
(注意:ない置くSSH:// の場合これが機能するためには、前になければなりません。