2014年2月19日水曜日

Jenkinsで他のJenkinsにジョブをインポートする方法

■実施方法
  1. Jenkinsのデータがある「jobs」ディレクトリ配下のジョブ名のディレクトリをコピー(またはリモードサーバに転送)
  2. 例えば「/root/.jenkins/jobs/job_name」など
  3. コピー(または転送)を実施したあとにインポートする側のJenkinsの再起動を実施
  4. コピーしたディレクトリ名のジョブをUI上で確認

以上です、簡単

上記の動作からJenkinsが同名のジョブを持つことができないのも納得かと思います
※同一ディレクトリ配下に同名のディレクトリを作成することはできないので

あとポイントとしてはディレクトリの権限で

Jenkins自体の動作はjenkinsユーザで行っているのにコピー作業をrootユーザで実施してしまったためにインポートしたジョブの権限がrootになってしまった

なんてことが発生しJenkinsがうまく起動できないことがあると思います
そんな場合は「chown -R jenkins:jenkins copy_job_name」などと実行してコピーしたジョブのディレクトリとその配下全体をjenkinsユーザの権限にしてから再起動すればOKです

基本的にJenkinsはディレクトリやファイルを元に動作しているので
これを応用してDropboxやGoogleDrive等のクラウドストレージサービスを使ってデータフォルダを共有すれば同じJenkinsデータを異なる端末で共有することもできると思います
※すいません、未検証です。。。

■参考サイト

0 件のコメント:

コメントを投稿