弊社Jenkinsビルド開始時にFF5の戦闘音楽 -> ビルド成功でファンファーレという流れをつけた
— 川峠さん (@eaglesakura) 2013年2月13日
Jenkinsを使った開発を楽しくしようとして、BGMをつけたら案外話題になったからそのまとめ。
事の始まり
- iOSアプリの開発のために、余っていたMac Book AirにJenkinsを導入することに
- せっかくMBAだから、サーバー側のJenkinsには出来ないことをやろうと思った
導入方法
導入というほど大仰なことは実は行ってなくて、かなり適当な方法を取っています。
Macのターミナルには"afplay"という音源再生のコマンドがあるので、それを組み合わせるだけです。
- 鳴らしたい音をmp3でJenkinsを導入したMBAに保存
- もともとJenkinsのビルドはシェルを実行する形式だったので、シェルに直接サウンドを鳴らすコマンドを記述する
スクリプト記述例
- ここではci-buildというシェルスクリプトをgitのrootに用意して、Jenkinsからそのスクリプトを蹴っている
- Macのターミナルの場合"&"を使うとビルドとサウンドを同時に行える
- afplayだけを使うと、ビルド完了後BGMを再生したり、BGM再生後にビルドを開始するという悲しいことになる
- "wait"を使うと、ビルド実行とBGM再生の両方が終わるのを待つ(らしい)
- 実際にはビルドが5分以上かかるから、BGMが先に終わることはない
- ビルド完了後の効果音処理についてはこちらのブログが詳しいです
------------------------------------------------------------------------------------------------
./ci-build & afplay ~/sound.jenkins/build.mp3
# ビルド実行待ちを行う
wait
if [ $? -ne 0 ]; then
echo "build failed…"
exit 1
fi
------------------------------------------------------------------------------------------------
効能
- ビルド開始やテスト開始等のJenkinsの動きに応じて好きなBGMを付けられる
- BGMとSEのお陰で「どのプロジェクト」が「どのようなビルド結果になったのか」を職場の全員にブロードキャストできる
- Jenkinsを導入する気になる
- Jenkinsが頑張ってる感が出る
- テストも作る気になる
- FF楽曲はやる気が出る
- コーディングが楽しくなる!!
難点
- BGMとSEのお陰でテストが壊れるとDISられる
というわけでシェルを使うだけのとても簡単な方法でBGMを付けられるので、余ってるMacがあってJenkinsを導入してる人はオススメです。
お一人様から楽しめます。