LoginSignup
10
6

More than 5 years have passed since last update.

Jenkins Git publisherでデイリーリリースをタグ付けする

Last updated at Posted at 2017-02-13

どの変更分までをリリースしたりテストしたりしたかを確認する必要がでてきたため、
デイリーのリリース結果としてリリース用ブランチのタグ打ちを自動化した履歴

用意されてるものだけだと普通に出来るが、
ちょっと名前など工夫入れようとしたらハマったためメモ

前提

  • 内部で利用しているGitLabからソースを取得している
  • 通信の制約上Webhookでいい感じに使えない
    • Pollingで頑張るしかない...

Plugin

  • Git plugin
    • リポジトリでGitを使っているため利用
    • タグ打ちする時にも使ってる
  • Environment Injector Plugin
    • Git Publisherに渡すタグ名の環境変数を入れるために利用

やったこと

  1. 上記Pluginを入れておく

  2. Gitリポジトリから取得できるよういい感じになにがしかする

    • test-branch-tag Config [Jenkins] 2017-02-13 17-49-43.png
    • RepositoryとCredentialsは通常通り設定
    • Advancedから表示されるNameは適宜つける(あとで使う)
  3. SCMをポーリングで適宜設定する(悲しい)

  4. ビルドの実行で環境変数を入れる

    • test-branch-tag Config [Jenkins] 2017-02-13 17-55-03.png
    • echo "DATE=$(date +%Y%m%d_%H%M%S)" > tmp.prop
      • Env Inject Pluginで読める環境変数の組をTextに落とす
    • 環境変数のインジェクトジョブで上記で作成した tmp.prop を呼び出してジョブ全体で使える環境変数を適用
    • gitのユーザ設定周りはJenkinsのサーバGlobalに設定していない場合やる
      • Jobごとに変わりそうだったのでここに入れている
  5. Git Publisherでもろもろ設定する

    • test-branch-tag Config [Jenkins] 2017-02-13 17-59-09.png
    • Env Inject Pluginを使うとビルド後の処理でも環境変数を使える
      • 「ビルドから利用可能な環境変数の一覧」に記載されてるものはこのPluginで適用しなくても大丈夫な模様
    • Target remote nameはあとで使うと記載したNameを入れる

おつかれやまでした

10
6
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
10
6