
GitHubのリポジトリを手動で一つ一つ追加していくより、GitHubのアカウントをJenkinsと統合して、Jenkinsから自動でリポジトリを追加してくれると便利です。今回はそれを実現するJenkinsのGitHub
Organizationの設定方法を紹介します。
見出し
はじめに
個人や小さい組織で個別にJenkinsを使う場合は新しいプロジェクトが立ち上がるたびに新しいリポジトリをJenkinsに登録しても大した手間ではないかもしれません。しかし、ある程度大きな組織や個人や小さい組織であっても新しいプロジェクトを量産するような場合、Jenkinsへの手動のリポジトリ追加は負担になります。この問題を解決するには、GitHubのアカウントをJenkinsと統合し、新しいリポジトリができたタイミングで自動的にJenkinsがそのリポジトリを追加する仕組みを作ることが必要です。そして、その方法はJenkinsではGitHub Organizatoinとしてすでにあります。
今回は、新しいプロジェクトをどんどん立ち上げる活発な人や組織向けに、GitHubアカウントとJenkinsの統合機能「GitHub Organization」の設定方法を紹介します。
前提
以下の準備が完了している必要があります。
- Jenkinsが構築済みであること
- Jenkins内でDockerが実行可能であること
- GitHubのアカウントがあること
GitHubのAPIトークンの発行
まずは、GitHubと連携するためにGitHubのAPIトークンをJenkins用に作成しましょう。
自分のGitHubページに行き、「Settings」をクリックします。
「Developer settings」をクリックします。
「Personal access tokens」をクリックし、「Token description」に任意の名前(今回は「jenkins」)を入力し、「Select scopes」の「repo」を選択します。
「Generate token」をクリックします。
これでAPIトークンが発行されました。
このGitHubのAPIトークンをJenkinsに設定するので、メモしておきましょう。
JenkinsのGitHub Organizationの設定
それでは、Jenkinsの設定をしましょう。
GitHub統合用のプラグインを入れる
Jenkinsに「GitHub Branch Source Plugin」というプラグインをインストールする必要があります。
「Jenkinsの管理」から「プラグインの管理」をクリックします。
「インストール済み」に対象のプラグインが入っていればOKです。(Jenkinsセットアップ時に推奨インストールをすると自動的に入ります)
GitHub用の認証情報の追加
ホーム画面から「認証情報」をクリックし、「Jenkins」をクリックします。
「Add credentials」をクリックします。
「種類」に「ユーザー名とパスワード」を選択し、以下の情報を入力し、「保存」をクリックします。
- ユーザー名: GitHubのアカウント名
- パスワード: GitHubのAPIトークン
- ID: 任意(今回は「github-credentials」)
新しい認証情報が追加されていればOKです。
JenkinsとGitHubの統合
ホーム画面から「新規ジョブ作成」をクリックします。
ジョブ名に統合するGitHubアカウントのアカウント名を入力し、「GitHub Organization」を選択し、「OK」をクリックします。
「Projects」に以下の情報を入力し、「保存」をクリックします。
- Credentials: 先程作成した認証情報(github-credentials)
- Owner: 統合するGitHubアカウントのアカウント名(手順通りにやっていれば自動的に入っている)
- Script Path: Jenkisfileのパス(今回はプロジェクトフォルダ直下に配置するので、「Jenkinsfile」のまま)
すると、統合したGitHubアカウントのリポジトリのスキャンを自動的に開始します。(「Script Path」に設定したパスに「Jenkinsfile」があるリポジトリをスキャンします)
しばらくするとスキャンが完了します。
今回は2つのリポジトリが自動的にJenkinsに追加されました。試しに「devops_sample_nodejs」をクリックしてみます。
「ビルド実行」をクリックしてビルドを実行してみます。
「master」ブランチをクリックします。
ビルドの状況が確認できます。
GitHubアカウントのページに戻ります。GitHubアカウント内でスキャンされたリポジトリ全てのビルド状況が確認できます。
これで完了です。
最後に
いかがでしたか?これでGitHubアカウントに新しいリポジトリを追加した時に自動的にJenkinsでビルドできうようになりましたね。継続的インテグレーションをGitHubのリポジトリにどんどん適用していきましょう。それでは。
環境
- Jenkins: 2.151


コメントを残す