2012年末の昼下がり。
原稿を書かなければならないのですが、追い詰められているがゆえに違うことをしてます。
最近は邪道Jenkinsがマイブームでして、ちょろっと検証してみました。
3時間くらいいじっただけなので、詳しい方からツッコミいただけると幸いです。
モチベーションは「JP◯みたいなジョブマネージャがほしい!」ということ。
そこまで高機能じゃなくてもいいんですけど、そこそこのものが欲しかった。
- 一覧できる
- リランできる
- ユーザ企業のシステム担当者さんでも使える
Hinemosでできるのは知ってるんですが、検証したときにクライアントが手元・サーバがインターネット越しという構成で使えなかったので却下したままハイそれまでよ。。。
そんなこんなでjenkins。macの場合は
java -jar /usr/local/Cellar/jenkins/*/libexec/jenkins.war
で起動完了。これで http://localhost:8080/
でjenkinsが起動します。らくちん。
以下はjenkinsのいいところ
job一覧がイイ!
百聞は一見に如かず、ということでこんな感じ。
- 最新ビルド(job実行)のコンソール出力結果を1クリックで確認できる(Console Column Pluginプラグイン)
- 次回実行予定日時も表示できる(Next Executionsプラグイン)
- cronスケジュールも表示できる(Cron Column Pluginプラグイン)
「最新の実行」がぱっとわからないところはイケてないけど、 そこは見ればわかるからヨシとしましょう。
job定義にbashのシェルスクリプトをそのまま書けてイイ!
/bin/sh -xe
で実行されます。
-e
ついてるので、エラーが出たらそこで中断されるので要注意!
→参考:覚えておきたいbashシェルスクリプトのオプション
※job名が日本語だと実行に失敗するので要注意!(上記)
jobがcron式で定期実行できてイイ!
cronの書式もそのまんま!
jobが手動で再実行できてイイ!
jobの画面に「ビルド実行」リンクがあるので、これを押すだけで再実行はできちゃう。
逆に言うと、確認画面とか出ずに再実行されちゃう。
それは怖い。。。でもやりかたわからん。JQueryプラグインでも対応できそうにない…と困っていたら神の声が。
[blackbirdpie url="https://twitter.com/nakashii_/status/285275819297878016"]
というわけで、実行までに1クッションはさみたい場合はjobにダミーのパラメータをつけましょう。
(thanks to @nakashii_さん!)
※テンプレ化できればもっといい気がするね
プラグインのインストールが簡単でイイ!
管理画面(web)からぽちぽちするだけでインストール完了!簡単でたいへんよろしい。
まだあんまり見てないけど、 JobConfigHistoryプラグインとか、 Dependency Graph Viewプラグインとか胸熱。
アプなそうなこと
※思いつきの未検証なのであしからず
- 同時並列実行数が規定されてるので、うっかり制約に達しててjob実行されてませんでした的なことがありそう
- 実行時刻はそんなに厳密ではなさげ。bashスクリプトなjobも開始時刻がxx:xx:02になった。起動が重い?のかもしれない(勘)
- Java VMってDNSの名前解決結果をVM上にキャッシュする(はず)なので、IPアドレス変わったのに追従できずトラブルとかありそう
↓これ読んで検証しました