LoginSignup
1
1

More than 1 year has passed since last update.

jenkins: github連携: SSH公開鍵認証使用

Posted at

jenkinsでgithubにSSH鍵認証でアクセスする方法。

SSH鍵生成

SSH鍵を登録するユーザで以下を実行。

$ ssh-keygen -t rsa

~/.ssh配下に以下のファイルが生成される。

 ファイル名   鍵の種類  登録先
 id_rsa   秘密鍵   github
 id_rsa.pub  公開鍵   jenkins

GitHubにSSH公開鍵登録

Githubに生成した公開鍵を登録。

  1. [Setting]-> [SSH and GPG Keys]

  2. [New SSH Key]を押下。

  3. Keyに公開鍵(id_rsa.pub)の内容をコピペし[ADD SSH Key]を押下。

  4. SSH Keyでgithubにアクセスできることを確認。

$ ssh -T git@github.com

最初のアクセスの場合はKnown hostsに登録する。
以下のように表示されれば成功。

Hi xxx! You've successfully authenticated, but GitHub does not provide shell access.

JenkinsのGithubアクセスの設定

  1. [+新規ジョブ作成] を押下。

  2. フリースタイル・ビルドの作成を選択し[OK]を押下。
    Screenshot from 2023-05-27 21-19-23.png

  3. [ソースコード管理]でGitを選択。

  4. [リポジトリURL]にアクセスするリポジトリのSSH用URLを設定。
    Screenshot from 2023-05-27 21-32-31.png

  5. [認証情報]で[追加]を押下し、[Jenkins]を押下。
    Screenshot from 2023-05-27 21-35-24.png

  6. Jenkins Credentials Provider: Jenkins画面で[種類]で[SSHユーザ名と秘密鍵]を選択。
    Screenshot from 2023-05-27 21-37-20.png

  7. ユーザ名にSSH鍵を生成したユーザ@ホスト名を入力。
    Screenshot from 2023-05-27 21-47-47.png

  8. 秘密鍵で[直接入力]を選択し、[ADD]を押下後秘密鍵(id_rsa)の内容をコピペ。鍵生成時、パスフレーズを設定した場合はパスフレーズも設定。
    Screenshot from 2023-05-27 21-46-39.png

  9. [追加]を押下。

  10. [Build Step]など、その他必要な設定を行ったあと[保存]を押下。

  11. [ビルド実行]を行い、正常に稼働するか確認。

Pipeline内でgithubからチェックアウト

  1. [+新規ジョブ作成] を押下。

  2. パイプラインを選択し[OK]を押下。
    Screenshot from 2023-05-28 10-13-37.png

  3. pipelineのstep内でcheckout scmGitを呼び出し。

pipeline {
    agent any

    stages {
        stage('build') {
            steps {
                echo 'checkout from Github'
                checkout scmGit(branches: [[name: '*/master']], extensions: [], userRemoteConfigs: [[credentialsId: '<認証情報IDを指定>', url: '<SSH用URLを指定>']])
            }
        }
    }
}
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1