Developer界隈で最近流行ってそうなもの-ジョブ監視・構築・管理自動化編-

ジョブ監視ツール

・Jenkins

聞いた話をそのまま鵜呑みにするとすっごく頭のいいCron!

CI(継続的インテグレーション)ツール。

Jenkinsの特徴は以下の通り。

  1. ソースコードの統合・テストの自動化
  2. 定期的なビルドによるコンパイルエラー、バグの早期発見
  3. メトリクスの自動取得
  4. 開発を楽しく、ユカイツーカイに

【参考】「Hudson」改め「Jenkins」で始めるCI(継続的インテグレーション)入門

コンパイル、デプロイ、テストと人手を介してやると手順漏れだったりとか無駄に時間とられたりだとか大変だったものを自動でやってくれるらしい。

すごいって思ったのはGitにソースが上がったら勝手にビルドしてテストをしてくれるんだとか。

Trac Lightningに導入されているJenkins用プラグイン12選は以下の通り。

  1. Static Analysis Utilities:静的コード分析のユーティリティを提供
  2. Checkstyle Plug-in:CheckStyleによるコードチェックの結果を表示
  3. FindBugs Plug-in:FindBugsにより検出されたバグを表示
  4. PMD Plug-in:PMDにより検出されたバグを表示
  5. Duplicate Code Scanner Plug-in:重複したコードを表示:重複したコードを表示
  6. Hudson Violations plugin:静的解析結果の違反からレポートを生成:静的解析結果の違反からレポートを生成
  7. Hudson Emma plugin:Emmaにより、カバレッジの統計を取りる
  8. Dashboard View:ダッシュボードをカスタマイズできる
  9. Hudson Persona Plugin:ジョブの結果表示の画面にペルソナを利用できる
  10. Hudson Edgewall Trac plugin:Tracのプロジェクトへのリンクを張れる
  11. Maven Integraton plugin(Jenkinsに添付):Mavenのプロジェクトをビルド
  12. Subversion Plugin(Jenkinsに添付):Subversionリポジトリからコードを取得

構築・管理自動化ツール

・chef

サーバー管理ツール「Chef(シェフ)」は、ファイルに記述した設定内容に応じて自動的にユーザーの作成やパッケージのインストール、設定ファイルの編集などを行うツール。

「Cookbook(クックブック)」や「Recipe(レシピ)」と呼ばれる設定ファイルがあり、再利用しやすいとのこと。

例としてよく見かけたのは、

ApacheLinuxサーバに入れようとして、CentOSRedhatUbuntuDebianなどそれぞれパッケージ操作コマンドも名称も配置先も違うけどchefのRecipeに少し記述するだけで、それぞれの環境に合わせて導入したいパッケージを入れてくれるというものらしい。

Apacheのコンフィグファイルも同時に任意の内容に変更してくれたりと、何かと便利そう。

用途としては、同じような仕組みのシステムを量産する必要があったり、検証用サーバを複数持ってるときとかに使うと便利なのかなって感じ。


今回書くものは一般的だけど、私が最近知ったというだけのような・・・ けど得た知識はシェアする!これが目的なんで、まだ知らないって人の目に止まれば幸いです。