SE吾郎の備忘録

24歳SEの勉強用の備忘録です.皆様の役にも立てれば幸いです.

【備忘録】JenkinsとGitHubの連携設定

今回,JenkinsとGitHubを連携させて自動ビルドを行う環境を構築したので方法を備忘録として残しておきたいと思います.
この記事は次の方におすすめです.
  • GitHubのコードをJenkisでビルドしたい方
  • JenkinsとGitHubのアカウント作成済みの方

 


 1. GitHubssh接続

まず,GitHubにJenkinsからアクセス出来るようにする必要があります
そのためにssh接続に関する設定を行う必要があります.
最初にJenkinsディレクトリに移動してください
ディレクトリの場所は
Jenkinsの管理>システムの設定 のホームディレクトリ から確認することが出来ます.

f:id:IPOgoro:20211017180706p:plain


ホームディレクトリに移動し,ssh認証用の公開鍵と秘密鍵の作成を行います.
$ cd ****/****/.jenkins
$ sudo mkdir .ssh
$ sudo ssh-keygen -t rsa
ssh-keygenを実行すると,パスフレーズの入力を求めれますが全てEnterで問題ありません.これで鍵の生成は完了です.
次に生成した鍵をGitHub側に繋げる必要があります.
GitHubにログインして,setting>SSH and GPG keys を開いてください.

f:id:IPOgoro:20211017183925p:plain New SSH Keyを開き,titleは各自入力し,Keyに生成した公開鍵を入力します.入力する公開鍵は以下のコマンドで確認出来ます.macの方はpbcopyコマンド,Windowsの方はclipコマンドを使用してください.
$ pbcopy < ~/.ssh/id_rsa.pub
$ clip < ~/.ssh/id_rsa.pub
コピーした公開鍵をkeyに入力しAdd ssh Keyを押せば,GitHubssh接続できる環境が整いました.接続確認コマンドを実行します.
$ ssh -T git@github.com Hi username! You've successfully authenticated, but GitHub does not provide shell access.
but GitHub does not provide shell access.と出てきますが,接続自体出来ているので気にしなくてOKです.
これでsshの接続が完了です.


 2. Jenkinsのビルド設定
GitHubssh接続が出来るようになったら,JenkinsからsshGitHubに接続出来るように設定します.ダッシュボードから新規のジョブ作成をします .任意のジョブ名を入力し,フリースタイル・プロジェクトのビルド を選択してください.

f:id:IPOgoro:20211017200601p:plain

次に,ソースコードの管理を選択し,リポジトリURLと認証情報の入力を行います.
リポジトリURLにはgit@github.com:****1/****2.gitの形式で入力してください.****1にはGitHubのユーザー名,****2にはリポジトリ名を入力してください.

f:id:IPOgoro:20211017203130p:plain

そして,認証情報では種類でSSHユーザ名と秘密鍵を選択し,秘密鍵の直接入力を行います.秘密鍵のコピーは先ほどと同様以下のコマンドを使用してください.
$ pbcopy < ~/.ssh/id_rsa.pub
$ clip < ~/.ssh/id_rsa.pub

f:id:IPOgoro:20211017204016p:plain

ここまで設定が出来たら一度ビルドを実行し,エラーが出なければJenkinsとGitHubの接続は完了になります!