warを配置するだけ。単体でも動く
http://example.com/jenkins/systemInfo
java -jar jenkins.war
/etc/httpd/conf.dに以下のファイルをajp.confとして配置
ProxyRequests Off ProxyPass /jenkins ajp://localhost:8009/jenkins ProxyPassReverse /jenkins http://localhost:8009/jenkins
マスターにだけwarインストールして、スレーブはslave.jarを立ち上げておきSSH接続する。
HUDSON_HOME/jobs/各ジョブの名前_DIR
設定内容
ビルドしたものが配置される。
Role Strategy Pluginを利用して、不必要なJOBを隠す。
プロジェクト単位のユーザーには全体のRead以外の権限はつけない。Readの権限を付けないと「アクセスできませんxxxには、全体/Read パーミッションがありません。」となるのでReadの権限は最低必要。ViewのRead権限をつけるとタブが全部見えるが、中身のプロジェクトはProject rolesで定義されたものしか見えないので、ViewのRead権限は不要だろう。
Jobを正規表現で指定して、その単位で権限制御できる。これ単体ではログインしても何も見れないので、全体Viewの権限+プロジェクトの権限を各ユーザーにアサインする。プロジェクトのメンバーには閲覧+ビルドのみ。プロジェクトの管理者にはジョブとビルドのすべての権限を付与しておくとよいだろう。
前述のように全体Readのグローバル権限+プロジェクト単位の権限を二つ付与する必要がある。新規作成ユーザーは何も見れないので権限の作りすぎも要注意である。
設定画面でトークンを設定して、指定通りのURLをたたくと外部からJOBを実施できる。
Hudson 1.302から、HudsonにはCLIが追加。hudson-cli.jarというものを実行する
起動しているhudsonからダウンロードする。
java -jar hudson-cli.jar -s http://127.0.0.1:8080/ version
java -jar hudson-cli.jar -s http://127.0.0.1:8080/ copy-job コピー元 コピー先
ThinBackup | ★★ | 設定バックアップ用。cronの書式で指定できる。世代管理もできるので便利! |
Role Strategy Plugin | ★★★ | 権限管理ができる |
Build Pipeline Plugin | ★ | 上流、下流の関係が一目瞭然 |
SSH Plugin | ★★★ | SSH操作実行 |
Git Plugin | ★ | Gitと連携する場合に必要 |
Categorized View Plugin | ★ | JOBビューの階層化 |
Configuration Slicing Plugin | ★ | 設定のコピー。ただ一部のみ対応の感じがあるが・・ |
Copy Artifact Plugin | 成果物をコピーするPlugin |
Copy To Slave Plugin | |
Join Plugin | 複数のJOB到着を待って、後続JOBを流せるプラグイン |
Matrix Authorization Strategy Plugin | マトリックスベースの認証制限を実現する |
Parameterized Trigger Plugin | ★★★ | 上流ジョブから下流ジョブへパラメータ引き継ぎができる |
Role Based Plugin | ロールによる認証制御を可能にする |
Timestamper Plugin | ★★ | コンソールに時間経過を出力する |
Extended Choice Parameter Plugin | 選択肢リストを各ジョブで共有できる |
Role Based Pluginの説明(有効にするには設定画面変更必要)
http://techracho.bpsinc.jp/morimorihoge/2013_09_12/13642
Emotional Jenkins Plugin | ビルド失敗でアイコンが変化 |
たくさんのjobを扱う場合ブラウザ経由で操作するとめんどくさい。イレギュラーではあるが設定ファイルやディレクトリを直接変更した場合の反映方法をまとめた
初期状態ではユーザホームディレクトリに.hudsonというディレクトリができる。ここのjobsディレクトリにjob毎にディレクトリができているのでこいつをコピーする。
各ジョブのディレクトリに入りconfig.xmlを変更する。
そのままではhudsonのメモリ上にあるものが使われてしまう。故に強制的にファイルシステムから再読み込みさせる。これはメニューに用意されている。
[hudsonの管理]から[設定の再読み込み]を実行する。
環境変数の表示 | シェルの実行でenv |
このバージョンのJenkinsでは、プラグインマネージャーでピンが設定されている次のプラグインがインストールされています。ピンが設定されているプラグインを、少なくともJenkinsにバンドルされているバージョンにアップデートすることを推奨します。
Jenkins標準のプラグインはJenkins本体をアップデートしたときに合わせてアップデートされるが、バージョンを固定したい時がある。その場合に上記メッセージが出る。