JtestとDTPを連携することで、Jtestの解析結果をDTPへ登録します。また、JtestとGitを連携することで、違反の担当者をGitのコミッターから算出して自動で割り当てます。違反の担当者は、DTPのダッシュボードから確認できます。
3. パイプラインとJtestの設定ファイルのコミット
作成した Jenkinsfile と jtest_settings.properties をCIの対象リポジトリのルートにコミットします。
4. パイプラインジョブの作成と実行
Jenkinsにログインして [新規ジョブ作成] を選択し、ジョブ名を入力、[Multibranch Pipeline] をクリックしてジョブを作成します。
Multibranch Pipeline は、対象リポジトリをスキャンして Jenkinsfile が含まれるブランチを検知すると対応するジョブを自動で作成して管理します。これによりブランチ毎に手動でジョブを作成したり、ブランチを削除した時に手動でジョブを削除する必要がなくなります。
Multibranch Pipelineジョブを作成したら以下を設定します。
- Branch Source:対象リポジトリのURLと認証情報を設定
- Scan Multibranch Pipeline Triggers:Jenkinsが対象リポジトリをスキャンする間隔を設定
設定を保存すると、Jenkinsがリポジトリをスキャンして、リポジトリのルートにJenkinsfileが配置されているブランチを検出して自動でジョブを作成/実行します。
結果はJenkinsfileで定義したステージ毎にグラフィカルに表示されます。
以降は、設定した間隔でリポジトリが定期的にスキャンされ、新しくコミットがされたブランチがあれば自動で対応するジョブが実行されます。また、Jenkinsfileがルートに配置されているブランチが新しく検知されると対応するジョブを自動で作成し、逆にブランチが削除されると自動でジョブが削除されます。
5. 静的解析の結果確認
Jtestの解析結果はDTPへ登録するのように設定しているため、DTPのダッシュボードから結果を確認することができ、フィルター機能を利用するとブランチ毎に解析結果を表示できます。
まとめ
今回はJenkinsパイプラインとJtest、DTPを利用したCI環境の構築方法を紹介しました。パイプラインには様々メリットがあり、フリースタイルジョブでは実現できなかった複雑なフローの自動化や、CI環境の管理の手間を削減したりすることができます。ご興味がある方は試してみてはいかがでしょうか。
Jenkinsのパイプラインについては、弊社でトレーニングを実施していますので、ぜひご受講ください。
https://cloudbees.techmatrix.jp/jenkins-training/