BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Jenkins CIとChefまたはPuppetの統合による,デプロイの完全なトレーサビリティの実現

Jenkins CIとChefまたはPuppetの統合による,デプロイの完全なトレーサビリティの実現

原文(投稿日:2014/05/26)へのリンク

CloudBeesの開発したJenkinsのDeployment NotificationプラグインをChef SoftwareプラグインまたはPuppet Labsプラグインと合わせて使用することで,ChefあるいはPuppetのインストールするすべてのファイルをJenkins CIからトレース可能になる。JenkinsがChefまたはPuppetのフィンガープリント機構を使用して,インストールされたファイルを個別にマップすることで,どの環境にデプロイされているのかを正確に表示してくれるのだ。Jenkinsの外部でソフトウェアを実行する必要はなく,プラグインがAPIを通じてChefやPuppetのデプロイレポートを提供する。

Deployment NotificationプラグインChef SoftwareプラグインPuppet Labsプラグインは,CloudBee,Chef Software,PuppetLabsが共同開発した製品だ。Jenkins CI コミュニティを創設し,CloudBeeでCTO(Chief Technology Officer)を務めるKohsuke Kawaguchi氏は,"自動化へのニーズがこの業界の原動力であり,トレーサビリティは,その自動化の重要な実現手段なのです",と説明する。Chef SoftwareのCTOであるAdam Jacobs氏は,"JenkinsとChef Softwareのユーザにとってこの追加機能の提供は,アプリケーション開発を改善すると同時に,迅速で効率的,エラーフリーなアップデートを可能にするでしょう。",さらに,PuppetLabsで企業および事業開発担当副社長を務めるMitch Sonies氏は,PuppetとJenkinsの統合で実現される優れた可視性によって継続的デリバリのスケジュール遵守が可能になると,それぞれ述べている。

Deployment Notificationプラグインがなければ,デプロイされるコードのバイナリ全体をJenkinsでトレースすることはできなかった。ChefやPuppetを使ってバイナリをピックアップして,環境へデプロイする方法を選択すると,Jenkinsは重要な情報を得ることができない。結果としてエンジニアは,バイナリの使用されていた正確な場所を見付けることができなくなってしまうのだ。Deployment Notificationプラグインはそれを変える。ChefとPuppetからデプロイファイルのMD5チェックサムを受け取ることで,それを自身で内部に保持していた既知のバイナリにマップすることが可能になる。Jenkinsはこのメカニズムを利用して,ChefあるいはPuppetがバイナリをデプロイした環境やホスト,パスを表示することができる。デプロイメントパイプライン全体をエンジニアに対して完全に可視化することが可能だ。

ChefおよびPuppetプラグインは,Fileリソースの使用をトレースして,それぞれの使用状況をJebkinsに返送する。使用するにはDeployment Notificationプラグイン自体のインストールの他,環境に合わせてChef SoftwareプラグインまたはPuppetLabsプラグインのどちらかをインストールしなければならない。Deployment Notificationプラグインが提供するのは,Jenkinsのデプロイメントトラッキングに関する基本的な機能であり,その他のツール固有の実装は,ベンダ独自のプラグインに吸収される。

この記事に星をつける

おすすめ度
スタイル

BT