Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

インフラ構築とテストについて(ITインフラ業務自動化現状確認会)

67 140 vues

Publié le

2014/10/7に行われた @koemu さん主催のITインフラ業務自動化現状確認会で発表した資料です

Publié dans : Ingénierie
  • Soyez le premier à commenter

インフラ構築とテストについて(ITインフラ業務自動化現状確認会)

  1. 1. インフラ自動化とテストについて 2014.10.07 ITインフラ 業務自動化現状確認会
  2. 2. 名前  ひらしー(twitter: y05_net)  出身:グンマー お仕事  某ソーシャルゲーム会社のインフラ全般 ※3年前までプログラマ
  3. 3. • インフラ自動化について • テストドキュメントについて • テスト実行フローについて • serverspec-runnerというツール作ってみた • デモ
  4. 4. • インフラ自動化について • テストドキュメントについて • テスト実行フローについて • serverspec-runnerというツール作ってみた • デモ
  5. 5. 少人数のインフラメンバ 効率的にプログラマにサーバ環境を渡すため 3年前からChefで構築自動化 詳しくは => http://www.slideshare.net/y05_net/
  6. 6.  Chefによるサーバ構築コードをgitで管理 nginx設定ファイルを配布するコード
  7. 7. 7 CIサーバ DC DC DC 本番環境 GitLab Jenkins Vagrant
  8. 8. • インフラ自動化について • テストドキュメントについて • テスト実行フローについて • serverspec-runnerというツール作ってみた • デモ
  9. 9. 昔(BtoBプログラマ時代)の現場にて… 上司 テストはしましたか? してません(半笑) 自分 上司 テストは納品物です(怒)
  10. 10. 顧客エンジニア 営業エンジニア ソースコード・システムそのもの でコミュニケーションが可能 ソースコード・システムそのもの でコミュニケーションが困難 会社A 会社B 会社C
  11. 11. エンジニアと非エンジニアとの品質の共有に てテストドキュメントが必要となるケースが 多い テスト項目書といえば…
  12. 12. いつものアレ
  13. 13. • インフラ自動化について • テストドキュメントについて • テスト実行フローについて • serverspec-runnerというツール作ってみた • デモ
  14. 14. serverspecについて ご存知の通りインフラのテストをrspecの rubyコードで書ける 詳しくは「http://serverspec.org」まで
  15. 15. nginxの設定をテストするコード
  16. 16. システムに対して変化を加える際に正しい状態 をテストコードで定義(git push) テスト内容について問題の提起、修正 (issue, pull request) 指摘された内容の修正、修正のマージ システムに対しテスト実行 テストコードとgitワークフロー
  17. 17. テストのソフトウェア化と共にgitを中心にした ワークフローも一般的に テストをインフラ構築時の設計書として使える
  18. 18. • インフラ自動化について • テストドキュメントについて • テスト実行フローについて • serverspec-runnerというツール作ってみた • デモ
  19. 19.  元々Chefのレシピ実行時にserverspecでテストし ていた(前述のインフラ設計書の役割も果たす)  Chefを介さない作業やChefでサポートしていない 箇所のテストもserverspecでテストしたい
  20. 20. このような環境でserverspecを 一気に実行するには? Debian6.0 user:aaa CentOS5.1 0 CentOS6.5 user: bbb privatekey: ~/.ssh/id_rsa_bbb
  21. 21. http://serverspec.org/advanced_tips.html 本家のspec_helper.rbやRakefileを直接 コーディングするサンプル
  22. 22. https://github.com/hiracy/serverspec-runner
  23. 23. • scenario.yml テスト毎のrbファイルの ディレクトリ階層 テスト対象のサーバの IPアドレス・FQDN又はエイリアス名称 エイリアス指定時の詳細オプション エイリアス指定時のIPアドレス・FQDN サーバ毎のsshオプション net::ssh::config準拠 テストコード内でサーバ固有のパラメータを付与
  24. 24. • テストコードのスケルトン生成 先程のテストシナリオテンプレート このディレクトリ・ファイル を再利用する
  25. 25. • describeにテスト項目の階層構造を作ればそのまま テスト項目書となる
  26. 26. • インフラ自動化について • テストドキュメントについて • テスト実行フローについて • serverspec-runnerというツール作ってみた • デモ
  27. 27. まだ結構発展途上(・ω<)  もっと綺麗な階層構造(Exelベタ貼りできるくらい)  テスト・サーバ単位のインタラクティブ実行  GUI。。。(スキル不足)  なんと2日前にServerspec2.0.0がリリースして動か なくなった!!!<=華金消費して対応済み
  28. 28. お待ちしています!!

×