19
18

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Jenkinsのプロジェクトを自動的に追加する方法

Posted at

管理するコードリポジトリが増えてくると、リポジトリ追加の度にテスト用のJenkinsプロジェクトを追加するのが面倒くさくなってきます。

もし各リポジトリのテスト方法がほぼ同じで、違うのはリポジトリ名くらいだという場合は、
JenkisのJobcopyBuilderPlugin (https://wiki.jenkins-ci.org/display/JENKINS/Jobcopy+Builder+plugin) を使うと便利です。

上記ページやgithubのREADME.mdを見るとわかりますが、このプラグインを使うとジョブのビルド時に"ジョブのコピー"ができるようになります。
また、コピーしたジョブの設定(config.xml)を一部置換することができます。

これを利用すると、下記のようにすることで、リポジトリ毎に動的にbuild jobを追加して動かすことができるようになります。

1.テスト用ジョブのテンプレートとなるJenkinsプロジェクト(以下 template job)を用意する
2.ジョブ追加兼ジョブ起動用プロジェクト(以下 dispatcher job)を用意する
3.dispatcher jobは"ビルドのパラメータ化"を使って、外からリポジトリ名を渡せるようにしておく
4.dispatcher jobのビルド処理の中でtemplate jobのジョブをコピーする (以下 build job)
5.コピーしたbuild jobのリポジトリの設定を3で渡されるリポジトリ名に置換する
6.dispatcher jobのビルド処理(もしくは、ビルド後の処理)の中で、build jobを起動するようにする

dispater jobの起動時に渡されるリポジトリ名を使って、そのリポジトリ用のbuild jobを作成し、
そのままbuild jobを起動してくれるようになります。

19
18
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
19
18

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?