コミット時にJenkinsジョブをトリガーし、
ビルド成功時にgit tagとbulid statusをgit CommitにプッシュするようなJenkinsジョブを作成する。忘れないようにメモ。
設定後
n回目のビルドを表したタグ
「Private-repo-git-webhook」ジョブからコミットしたステータス表記
前提
- プライベートリポジトリとJenkinsの認証設定は済んでいること
設定
github設定
webhook
プライベートリポジトリの[Settings]タブより、[Webhooks]を選択しPayloadURLを入力する。
http://【Jenkinsサーバ】:8080/github-webhook/
これを設定することで、リポジトリにコミットが来たタイミングで設定したエンドポイントにRESTAPIでリクエストを送るようになる。
そのリクエストをトリガーにしてJenkins側でパイプラインを構成する。
git publisher用のアクセストークン作成
gitリポジトリへのアクセストークンとgit publisher用のアクセストークンは異なるため別途作成する必要がある。
右上のアイコン
→Settings
→Developer Settings
→Personal access tokens (classic)
から、「Generate new token」を実行しアクセストークンを発行しておく。
発行されたトークンはJenkins側で登録するため控えておく。
発行時に
リポジトリ全体にアクセスができるようにチェックマークを入力する。
Jenkins設定
アクセストークン設定
githubで作成したgit publisher用トークンを登録する。
ダッシュボード
→Jenkinsの管理
→System
→Github
に移動し、
Credentialsの追加ボタンから先ほど作成したアクセストークンを「Secret text」で登録する。
ジョブ作成の設定
Jenkinsで設定できる環境変数を確認する。
https://zenn.dev/snowcait/scraps/bc7675be46d01d
今回は、BUILD_NUMBERをタグにプッシュするように設定するため、
ログでNUMBERが確認できるようにシェルコマンドを実行しておく。
echo "JOB NAME IS ${JOB_NAME}"
echo "JOB NUMBER IS #${BUILD_NUMBER}"
GitHub hookにトリガーできるようにチェックマークをつける
Git Publisher欄にて、
プッシュするタグ名とリモート名を設定する。
また、コミット時に反映する操作として「タグの作成」「タグの更新」にチェックマークを入れる。
Set GitHub commit status (universal)欄にて、
Status result:
をOne of default messages and statuses
に変更する。