このブログをご覧のみなさん、こんにちは。
Jenkins をカスタマイズすることで、継続的デリバリーがかなり便利になります。
デプロイ後にメール通知までを Jenkis で自動化しましたが、デプロイの前にリリースする内容のタグ付けも Jenkins で自動化できると便利です。
ではどうすれば良いでしょう?
Jenkins に Git Plugin を入れるとこういったことが簡単かつセキュアに自動化できます。他にも git push
、git merge
、git merge; git push
といったこともできます。
Git Plugin とは?
そのまんまなので省略します。2015/03/28 現在のバージョンは 2.3.5 です。
インストール
[Jenkins の管理]→[プラグインの管理]→[利用可能タブ]を選択して、Git Plugin を選択してインストールします。
初期設定
Credential 設定
認証に関する情報を設定します。
[認証情報]→[グローバルドメイン]→[認証情報を追加]を選択して、認証情報を追加します。
設定できる情報は
- ユーザー名とパスワード
- SSH ユーザー名と秘密鍵
- 証明書
で、ユーザー名とパスワードの場合は
- スコープ : グローバルとシステムがあります。
git pull/git push
などに使用する場合はグローバルで作成します。 - ユーザー名/パスワード/説明 : そのまんまの意味
となります。
git push を Jenkins で実行する
シェルで実行するか、Git Publisher で実行するか選択できます。前者は ssh で接続しない場合はパスワードが見えてしまい、ssh で接続する場合は Jenkins を実行しているユーザになるという制約条件があります。
以下は Git Publisher での設定になります。
- Push Only If Build Succeeds : ここをチェックすると、ビルド成功時のみ Git のコマンドを行います。ビルドに失敗したものを push する意味はないので、基本チェックをつけるのがいいでしょう。
Tag
- Tag to push : タグ付けする名前
- Tag message : タグのメッセージ(git tag -m で指定する部分)
- Create new tag : ここをチェックすると、タグを作る(=つけないとタグを作らない)
- Update new tag : ここをチェックすると、タグを更新する
- Target remote name : origin などを指定
Branch
- Branch to push : push するブランチ名
- Target remote name : origin などのリモート名
まとめ
これらを駆使することで、タグ付けした後にデプロイし、その後にメール通知を Jenkins で自動的に可能となります。