DevOpsの全体像をまとめてみた

【登場人物】
5種類のツールたちが織り成す
・バージョン管理システム
Git,Subversionなど
・CIツール
Jenkins等
・自動テストツール
単体テスト
JUnit,PHPUnitなど
結合テスト
Selenium等
総合テスト
JMeter等
・デプロイツール
Chef,Puppet等
・仮想化テスト環境自動生成
Vagrant
このほかに、チケット管理、バグ管理などもあり得るが、今回省略
【環境】
3つの環境
(実際には開発とテスト環境が同じなど、2つ以上の環境が同一のことがある)
・開発環境
・テスト環境(仮想化環境のこともある)
・実行環境
【手順】
(①、②、②’、③は、図中の番号と対応)
①開発した内容は、バージョン管理システム(Git,Subversion等)の
リポジトリに登録されます。
CIツール(Jenkins)などは、登録状況を監視していて、登録内容に
変更があると、あらかじめ登録されたシナリオに基づき
②(回帰テスト)を実施します
②CIツール(Jenkins)は、登録された内容をデプロイしていいか
どうか、あらかじめ登録されている回帰テストを、テスト環境で、
自動的に行います。このとき使う自動テストツールは、
単体テスト
JUnit,PHPUnitなど
結合テスト
Selenium等
総合テスト
JMeter等
があり、これらのツールを使って、あらかじめ登録してあるテスト
を行い、全部OKだったら、③デプロイを行います。
②’②のテストはテスト環境で行われますが、テスト環境は、仮想化
環境で行われることもあります。その場合は、vagrantを使って
行います。vagrantで行うシナリオはvagrantfileに書かれていて、
仮想マシンは、boxをもとにつくられ、その環境設定として(本番
のときに使われる内容であるCookbookをもとに)Chefで設定します。
その後、②が動きます。
③回帰テスト(②)した結果がOKだったら、Jenkinsは、デプロイを
行います。本番環境をデプロイツール(Chef等)によって設定、
プロビジョニングします。
こんな感じでしょうか・・・

【登場人物】
5種類のツールたちが織り成す
・バージョン管理システム
Git,Subversionなど
・CIツール
Jenkins等
・自動テストツール
単体テスト
JUnit,PHPUnitなど
結合テスト
Selenium等
総合テスト
JMeter等
・デプロイツール
Chef,Puppet等
・仮想化テスト環境自動生成
Vagrant
このほかに、チケット管理、バグ管理などもあり得るが、今回省略
【環境】
3つの環境
(実際には開発とテスト環境が同じなど、2つ以上の環境が同一のことがある)
・開発環境
・テスト環境(仮想化環境のこともある)
・実行環境
【手順】
(①、②、②’、③は、図中の番号と対応)
①開発した内容は、バージョン管理システム(Git,Subversion等)の
リポジトリに登録されます。
CIツール(Jenkins)などは、登録状況を監視していて、登録内容に
変更があると、あらかじめ登録されたシナリオに基づき
②(回帰テスト)を実施します
②CIツール(Jenkins)は、登録された内容をデプロイしていいか
どうか、あらかじめ登録されている回帰テストを、テスト環境で、
自動的に行います。このとき使う自動テストツールは、
単体テスト
JUnit,PHPUnitなど
結合テスト
Selenium等
総合テスト
JMeter等
があり、これらのツールを使って、あらかじめ登録してあるテスト
を行い、全部OKだったら、③デプロイを行います。
②’②のテストはテスト環境で行われますが、テスト環境は、仮想化
環境で行われることもあります。その場合は、vagrantを使って
行います。vagrantで行うシナリオはvagrantfileに書かれていて、
仮想マシンは、boxをもとにつくられ、その環境設定として(本番
のときに使われる内容であるCookbookをもとに)Chefで設定します。
その後、②が動きます。
③回帰テスト(②)した結果がOKだったら、Jenkinsは、デプロイを
行います。本番環境をデプロイツール(Chef等)によって設定、
プロビジョニングします。
こんな感じでしょうか・・・