Jenkinsさん、弱点を克服するの巻
以前、川口さんから「Jobの設定と実行環境をJENKINS_HOMEに設定したがために、Jenkins(やHudson)のバックアップが面倒なんだ」的な話を聞いたんですよ。
具体的に言うと、JENKINS_HOMEを丸ごとバックアップすると、そん中にJobのワークスペースやらビルド結果やらが含まれるので本質的にJenkinsのバックアップとは異なるモノも取っちゃうし、バックアップサイズもデカくなるって話(過去のビルド結果は微妙だけど、JobのワークスペースなんてSCMから再取得すれば消えてしまっても困らないでしょ。
何でそんなこと思い出したかというと、久しぶりにJenkinsのシステム設定眺めてたら、こんな設定項目みつけたからよ。
↓↓「高度な設定」押す↓↓
ほほう。ヘルプみると workspace と builds とJENKINS_HOMEは用途が違うから、それぞれ適した配置をしてもいいよ的な事が書いてあんね(workspace は揮発しても良い、builds はサイズデカくなるからそれなりのディスクへ、JENKINS_HOMEは大事にしろって感じ?
設定可能な環境変数は以下の3つ
- ${JENKINS_HOME} ― Jenkins home directory
- ${ITEM_ROOTDIR} ― Root directory of a job for which the workspace is allocated.
- ${ITEM_FULLNAME} ― '/'-separated job name, like "foo/bar".
つまり、デフォルトだと${JENKINS_HOME}から始まる${ITEM_ROOTDIR}が設定されているけど、${ITEM_FULLNAME}使えば、他のディレクトリに workspace や builds を設定できるようだ(って、実際試したらできたんだけどさ。
ちなみに、修正のきっかけになったであろうチケットはこいつだと思う。
そんで @ikikko さんが調べてくれたんだけど、v1.421 から入ってたんだと。むむぅ。