サーバ/インフラエンジニア養成読本 DevOps編 [Infrastructure as Code を実践するノウハウが満載! ] (Software Design plus)
2016/02/26 に出版される「サーバ/インフラエンジニア養成読本 DevOps編」というムック本にて、特集「CircleCIによる継続的インテグレーション入門」を執筆しました。
CircleCIによる継続的インテグレーション入門
私が現在所属するKaizen Platform, Inc.でもCircleCIをヘビーユーズしており、サーバ/インフラ部分においても、
- インフラCI
- 稼働中サーバへのプロビジョニング
- DNSレコードの管理
- Terraformを用いたAWSリソースの管理
- Packerを用いたAMI作成
- 稼働中サーバのセキュリティアップデート
- メトリクスグラフの取得&slackへの投稿
などにCircleCIを利用しており、今回はその中のインフラCI
と稼働中サーバへのプロビジョニング
部分を入門用に噛み砕いて書いてます。
Kaizen Platform, Inc.におけるインフラの継続的デリバリー、インテグレーションについては技術顧問である伊藤直也さんのブログ、@m_doiの昨年JAWS発表資料を合わせて見ていただくと理解が深まるかと思います。
既存環境に組み込みやすいように
本特集では下記のサービス、ツールを利用しています。
ツール名 | 役割 |
---|---|
VirtualBox | ローカル環境にテスト用VMを起動 |
Vagrant | テスト用VMの管理とssh接続情報の生成 |
knife-solo | プロビジョニングの実行 |
Serverspec | テスト用VMのプロビジョン結果のテスト |
Terraform | DigitalOcean上へのテスト用VM作成 |
CircleCI | GitHubと連携しビルド/CIを実行 |
GitHub | インフラコードの管理 |
DigitalOcean | インフラCIのテスト用VMの作成環境 |
特集内でも説明をしていますがそれぞれを疎な状態を保つように利用しているので、組み替えやすく、別のサービス、ツールを利用していても取り入れやすいのでは無いかと思います。
HashiCorp tools
今回VagrantとTerraformを利用し、ローカルでのテスト環境、インフラCIを実現しています。Vagrantはすでに定番ツールとなっておりますが、Terraformについてはまだまだの印象がありますので、インフラCI用の使い捨てVM管理を通じ、Terraformの感触を掴んでいただければ幸いです。
目次
それぞれの特集が独立しており、好きなところから読んで、手を動かして試せる内容となっています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
|
正誤表
TerraformのDownload URLが発売直前のこのタイミングで変更になってしまい(泣)、一部コードがそのままでは動かなくなっております。詳しくは技術評論社様のサイトでご確認ください
最後に
担当した特集で利用しているServerspecの作者であるmizzyさんの紹介で特集が実現し感謝です。 担当した特集部分のレビューにご協力頂いた @tnmtさん、@kenjiskywalkerさん、@satoryuさん、ありがとうございました。
余談ですが今回の執筆にあたり、CircleCIにいろいろと問い合わせをしていたところステッカーとTシャツが送られてきて、CircleCIにも感謝です! / Thanks CircleCI !!
本書がビジネスに貢献するITインフラの役に立つ1冊になれば幸いです。
追記 2月26日追記
本日2016年2月26日(金)発売で、今現在カテゴリー別1位になっているようで、ありがとうございます!