ヒトリ歩き

愚痴とかいろいろ書きます

Jenkinsのジョブをコマンドラインで追加するには。

どうも。僕です。

今回は、Jenkinsのジョブを画面からではなく、コマンドラインで追加する方法です。

なぜ、コマンドラインで追加しようと思ったのか?

ジョブを各機能単位で作成することになったのですが、その機能が20個近くありました。
各機能担当者がバラバラでジョブを登録すると必要な設定が抜けてします可能生があることからJenkins担当(自称)の自分が登録することになりました。(正しくは、勝手にそんな流れになった)

ただ、20個近くのジョブを一人で登録するなんて・・・。

めんどくせぇーーーー( ´Д`)y━・~~

そんなことから、コマンドラインで追加する方法を探してみました。

コマンドラインで追加するには・・・

はじめに、コマンドラインで作業する場合は、jenkinsユーザである必要があります。
また、作成するためにベースとなるジョブが必要です。

# su -s/bin/bash Jenkins

次に、/var/lib/jenkins/jobs配下に作成したいジョブ名でディレクトリを作成します。
ここでは、Sampleというジョブ名で作成してみます。

$ pwd
/var/lib/jenkins/jobs
$ mkdir Sample

最後に、ベースになるジョブからconfig.xmlを作成したディレクトリ配下にコピーしてjenkinsを再起動するとジョブが作成されます。

作成するジョブによってはジョブ名が含まれるものがあったりするので、ファイル内を置換する必要があると思います。
ベースになるconfig.xmlを用意してスクリプトで一括でジョブの作成・更新できるようにしておくと多くのジョブの更新も憂鬱にならずにすむでしょう。