SlideShare ist ein Scribd-Unternehmen logo
1 von 52
開発エンジニアがChefで
テスト駆動サーバー設定してみた
システムサイエンス研究所 : 西村 友裕
13年6月15日土曜日
自己紹介(@tomNishimura)
• ㈱システムサイエンス研究所 という独立系の
開発会社の 8年目
• 春からNECビッグローブさんのお世話に
• 普段は組み込みアプリケーション(昔ITRON
等、現在Android中心)をやっている事が多い
• Webのフロントエンドも去年くらいから少々
13年6月15日土曜日
開発エンジニアとして
Chefを使う理由
•アジャイル開発を行う上で必要な開発
環境をクラウド上に自分たちで構築し
ている
•これからそういう環境をどんどん建て
たいので自動化したい
13年6月15日土曜日
今日お話する内容
1. なぜChefのレシピをTDDで書くのか?
2. どんなツールを使うか
3. TDDでレシピを作ろう
13年6月15日土曜日
1. なぜChefのレシピを
TDDで書くのか?
•Chefのレシピを(自動)テストする理由
•TDDでやる理由
13年6月15日土曜日
Chefのレシピを
(自動)テストする理由
• レシピが想定通りに動くことを確認したい
• 環境が想定通りに設定されていることを確
認したい
• 将来の変更時にもともと書いていた部分が
正しく動くことを確認できるように自動テ
ストを整備したい
13年6月15日土曜日
TDDでやる理由
• 最初にテストを書くことで、Chefでやりたい設定内容
を具体的に記述する事が出来るため
• 正直「出来るっぽいからやろう」とカッとなってやった
• 良い設計を促す効果は……あんまりないかも?
• 出来るのはChefのレシピで定義された手続きの実行
結果に対するテストなので、書き方への拘束力がない
13年6月15日土曜日
2.どんなツールを使うか
•今回実際にやってみること
•使用するツールの紹介
13年6月15日土曜日
今回実際にやってみること
Chefのcookbookを、TDDで作成する
具体的な手順を紹介する
※cookbook= 特定のパッケージのインストー
ル・設定手順くらいの粒度の設定手続きを定義
したもの
13年6月15日土曜日
検証に用いるツール
•serverspec (0.6.0) : サーバーのテ
ストに用いる、Rspecベースのツール
•foodcritic (2.1.0) : cookbookの書
き方の良し悪しをチェックしてくれる
lintツール
13年6月15日土曜日
便利なツール
•Berkshelf (2.0.3) : cookbookの管理
に使えるツール
•今回はcookbookのひな形生成に使用
•Vagrant (1.2.2) : 仮想のサーバー環境
をコマンドで簡単に用意できるツールで、
Chefのテスト環境の管理に便利
13年6月15日土曜日
注
•今回はワークフローの紹介を主に行うので、
ツールの導入や設定方法はやりません。
•月単位や週単位で使い方が変わったりする
ので、やろうと思った時に改めてググって
ください。
13年6月15日土曜日
3.レシピをTDDで書くよ!
• cookbookの初期設定
• cookbookのテスト作成し、失敗を確認
• 設定内容を手動確認し、テストを成功させる
• 設定内容をcookbook / レシピに記述して実
行し、テストを成功させる
• foodcriticで書き方をチェックして修正し、再
度テストを成功させる
13年6月15日土曜日
作成するcookbookの内容
• 名前は hello-cookbook
• apache2をインストールする
• DocumentRootにhello.txtというファ
イルを配置する
• 内容は Hello, Chef
• 対応OSはcentos6.3以上
13年6月15日土曜日
cookbookの初期設定
•berkshelfでひな形生成
•cookbookのmetadataを書こう
13年6月15日土曜日
cookbookのひな形生成
$ berks cookbook hello-cookbook
•./hello-cookbookディレクトリ配下に
cookbookで必要になるファイルがひ
と通り生成される
•Vagrantの設定も自動生成される
13年6月15日土曜日
生成したVagrantの設定内容
(hello-cookbook/Vagrantfile)
$ vagrant up
というコマンドの実行で、
• 仮想マシン立ち上げて
• chef-soloでレシピを
実行しますよ
という内容になっている。
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do ¦config¦
config.vm.hostname = "hello-cookbook-berkshelf"
config.vm.box = "Berkshelf-CentOS-6.3-x86_64-
minimal"
<省略 (Vagrantで立てる仮想マシンの内容)>
config.vm.provision :chef_solo do ¦chef¦
<省略 (サーバーのログイン設定等)>
chef.run_list = [
"recipe[hello-cookbook::default]"
]
end
end レシピ実行しますよ部分
13年6月15日土曜日
cookbookの
metadataを書こう
•metadataに書くべき内容
•maintainer, license, versionなどの
基本的なレシピの説明
•依存するcookbook
•サポートするOS
13年6月15日土曜日
metadataに追記
(hello-cookbook/metadata.rb)
•サポートするOSを追記
+ %w{ centos >= 6.3 }.each do ¦os¦
+ supports os
+ end
13年6月15日土曜日
3.レシピをTDDで書くよ!
cookbookの初期設定
• cookbookのテスト作成し、失敗を確認
• 設定内容を手動確認し、テストを成功させる
• 設定内容をcookbook / レシピに記述して実
行し、テストを成功させる
• foodcriticで書き方をチェックして修正し、再
度テストを成功させる
13年6月15日土曜日
設定内容を手動確認しつつ
テストを作成する
• まずは手動で設定内容を確認する
• 普段はwebのインターフェースから設定
してるのでコマンドラインからはどうや
ったらいいのか分からない、等の理由
で、まず具体的な設定手順を調査・検討
しなければならない場合も多い
• 確認しつつ、テストを作成する
13年6月15日土曜日
作成するcookbookの内容
(おさらい)
•apache2をインストールする
•DocumentRootにhello.txtというファ
イルを配置
•内容は Hello, Chef
13年6月15日土曜日
手動で設定確認するための
環境の準備
$ vagrant up
• 仮想マシンが立ち上がり、Chef Soloによる設定処理が実行される
• 今はまだレシピに何も書いてないので、Chefは実行自体はされる
が何も設定しない
• Vagrantfileが存在するディレクトリで行うこと(今回はhello-
cookbook配下)
$ vagrant ssh
Vagrantfileで定義された仮想サーバーにsshで入ることが出来る
13年6月15日土曜日
手動で設定確認
$ sudo yum install httpd
:
Is this ok [y/N]: y<Enter>
:
$ sudo chkconfig httpd on
$ sudo service httpd start
$ echo Hello, Chef > hello.txt
$ sudo mv hello.txt /var/www/html/
13年6月15日土曜日
テストのひな形生成
$ serverspec-init
Select a backend type:
1) SSH
2) Exec (local)
Select number: 1<Enter>
Vagrant instance y/n: y<Enter>
Input vagrant instance name: hello-cookbook-berkshelf<Enter>
+ spec/hello-cookbook-berkshelf/
+ spec/hello-cookbook-berkshelf/httpd_spec.rb
任意
13年6月15日土曜日
テストのひな形生成
• serverspec-initコマンドによって
• テスト実行のためのRakefileが作成される
• サンプルとして以下のテストが作成され
る。
• spec/<host名>/httpd_spec.rb
• 今回はこのhttpd_spec.rbを編集して使う
13年6月15日土曜日
テストの記述
(httpd_spec.rb)
require 'spec_helper'
describe package('httpd') do
it { should be_installed }
end
describe service('httpd') do
it { should be_enabled }
it { should be_running }
end
describe port(80) do
it { should be_listening }
end
describe file('/var/www/html/hello.txt') do
it { should be_file }
it { should contain 'Hello, Chef' }
end
テストの初期処理の
呼び出し
13年6月15日土曜日
テストの記述
(httpd_spec.rb)
require 'spec_helper'
describe package('httpd') do
it { should be_installed }
end
describe service('httpd') do
it { should be_enabled }
it { should be_running }
end
describe port(80) do
it { should be_listening }
end
describe file('/var/www/html/hello.txt') do
it { should be_file }
it { should contain 'Hello, Chef' }
end
apache2のパッケージが
インストールされているか
のテスト (1件目)
13年6月15日土曜日
テストの記述
(httpd_spec.rb)
require 'spec_helper'
describe package('httpd') do
it { should be_installed }
end
describe service('httpd') do
it { should be_enabled }
it { should be_running }
end
describe port(80) do
it { should be_listening }
end
describe file('/var/www/html/hello.txt') do
it { should be_file }
it { should contain 'Hello, Chef' }
end
サービスの自動起動が
設定されていて、
実行中であるかのテスト
(2-3件目)
13年6月15日土曜日
テストの記述
(httpd_spec.rb)
require 'spec_helper'
describe package('httpd') do
it { should be_installed }
end
describe service('httpd') do
it { should be_enabled }
it { should be_running }
end
describe port(80) do
it { should be_listening }
end
describe file('/var/www/html/hello.txt') do
it { should be_file }
it { should contain 'Hello, Chef' }
end
80番が開いてるかの
テスト(4件目)
13年6月15日土曜日
テストの記述
(httpd_spec.rb)
require 'spec_helper'
describe package('httpd') do
it { should be_installed }
end
describe service('httpd') do
it { should be_enabled }
it { should be_running }
end
describe port(80) do
it { should be_listening }
end
describe file('/var/www/html/hello.txt') do
it { should be_file }
it { should contain 'Hello, Chef' }
end
txtが配置されていて、
内容が想定したものか
のテスト(5-6件目)
13年6月15日土曜日
一旦環境をまっさらに戻す
$ vagrant destroy
Are you sure you want to destroy
the 'default' VM? [y/N] y<Enter>
• 仮想マシンのデータが削除される
13年6月15日土曜日
まっさらにした環境に対し
テストを行う
• 設定前の環境で失敗することを確認
$ vagrant up
$ rake spec
:
Finished in *.* seconds
6 examples, 6 failures
:
13年6月15日土曜日
手動で設定した環境に
テストを行う
• 先ほど確認した設定内容を手動で実施
• 再度テストを実施し、成功を確認する。
• 終わったらまた一旦仮想マシンのデータを破棄する。
$ rake spec
:
Finished in *.* seconds
6 examples, 0 failures
$ vagrant destroy
13年6月15日土曜日
3.レシピをTDDで書くよ!
cookbookの初期設定
cookbookのテスト作成し、失敗を確認
設定内容を手動確認し、テストを成功させる
• 設定内容をcookbook / レシピに記述して実
行し、テストを成功させる
• foodcriticで書き方をチェックして修正し、再
度テストを成功させる
13年6月15日土曜日
レシピの記述
(hello-cookbook/recipes/default.rb)
• apache2をインストールし、サービス有効にして立ち上げたいぞ、という内容
を記述
+ package "httpd" do
+ action :install
+ end
+ service "httpd" do
+ supports :status => true, :restart => true, :reload => true
+ action [ :enable, :start ]
+ end
13年6月15日土曜日
試しにこの時点で
cookbookを適用してテスト
$ vagrant up
$ rake spec
:
Finished in *.* seconds
6 examples, 2 failures
Failed examples:
rspec ./spec/hello-cookbook-berkshelf/httpd_spec.rb:17 # File "/var/www/html/
hello.txt"
rspec ./spec/hello-cookbook-berkshelf/httpd_spec.rb:18 # File "/var/www/html/
hello.txt"
apache2の設定関係の
4件が成功
テキスト置いて
云々のテストは失敗
13年6月15日土曜日
( ) 。o(変更したレシピを試す時、いち
いちvagrant destroyするのめんどい……)
• このコマンドで、立ち上がっている仮想マシンはそのま
まで、chefの実行だけを再度行うことが出来る
• Vagrantfileでprovison(設定処理)として定義されて
いるchefの処理が実行される、という感じ
• ただ「2回実行するとなんか動くんすけどねー」みたいな
不可思議なレシピが誕生することも無くはないので、節
目節目でdestroy -> upして確認するのが良いと思われる
$ vagrant provision
13年6月15日土曜日
ファイルの配置処理を
cookbookに定義
• hello-cookbook/files/default/hello.txt を作成
• 内容は Hello, Chef
• レシピに以下を追記 (ファイルの配置処理)
+ cookbook_file "/var/www/html/hello.txt" do
+ mode 00644
+ end
13年6月15日土曜日
cookbookの適用後に
テストを行い、成功を確認
$ vagrant provision
$ rake spec
:
Finished in *.* seconds
6 examples, 0 failures
13年6月15日土曜日
3.レシピをTDDで書くよ!
cookbookの初期設定
cookbookのテスト作成し、失敗を確認
設定内容を手動確認し、テストを成功させる
設定内容をcookbook / レシピに記述して実
行し、テストを成功させる
• foodcriticで書き方をチェックして修正し、再
度テストを成功させる
13年6月15日土曜日
foodcriticで書き方を
チェックする
$ foodcritic hello-cookbook
FC008: Generated cookbook
metadata needs updating: hello-
cookbook/metadata.rb:3
13年6月15日土曜日
指摘された内容
•hello-cookbook/metadata.rb:3 の内容
•maintainer_email 'YOUR_EMAIL'
•「metadataちゃんと書けよ!自動生成さ
れた内容のままになってるじゃないか!例
えばこの maintainer_emailのところと
か!」と怒られています
13年6月15日土曜日
foodcriticの指摘に対応
•hello-cookbook/metadata.rb
- maintainer 'YOUR_NAME'
- maintainer_email 'YOUR_EMAIL'
+ maintainer 'Tomohiro Nishimura'
+ maintainer_email '<ちゃんとしたメールアドレス>'
13年6月15日土曜日
foodcriticに怒られなく
なったことを確認
$ foodcritic hello-cookbook
(問題なければ出力なし)
13年6月15日土曜日
変更したので、再度テスト
して成功を確認
$ vagrant provision
$ rake spec
:
Finished in *.* seconds
6 examples, 0 failures
※今回はmetadataの修正だけだったので、これで動かなく
なることは多分あんまりないです。
13年6月15日土曜日
レシピをTDDで書けたね!
(多分)
cookbookの初期設定
cookbookのテスト作成し、失敗を確認
設定内容を手動確認し、テストを成功させる
設定内容をcookbook / レシピに記述して実
行し、テストを成功させる
foodcriticで書き方をチェックして修正し、
再度テストを成功させる
13年6月15日土曜日
まとめ
13年6月15日土曜日
自動テストをきちんと
書きましょう
•設計を意識することができます
•レシピを変更した時に、振る舞いが変わって
いない事をすぐに再確認出来ます
13年6月15日土曜日
付録:Chefのテストについての
今回扱わなかったトピック
• レシピの継続的インテグレーション : JenkinsやTravis
CI等を使って出来る
• gitリポジトリからcookbookを持ってきて、仮想サ
ーバーにchefを実行した後にテストをする、という
内容のタスクを定期的に実行する
• マルチプラットフォーム(OS違い、バージョン違い等)で
のテスト : test-kitchenを使うと、複数環境でのChef
の実行とテストが並行して出来る
• Nodeのテスト:本番環境もテストしよう
13年6月15日土曜日
質問タイム?
13年6月15日土曜日
ご清聴ありがとう
ございました
13年6月15日土曜日

Weitere ähnliche Inhalte

Was ist angesagt?

Ansibleで始めるinfraTDD(初級編)
Ansibleで始めるinfraTDD(初級編)Ansibleで始めるinfraTDD(初級編)
Ansibleで始めるinfraTDD(初級編)佐久本正太
 
serverspecでサーバ環境のテストを書いてみよう
serverspecでサーバ環境のテストを書いてみようserverspecでサーバ環境のテストを書いてみよう
serverspecでサーバ環境のテストを書いてみようDaisuke Ikeda
 
ぼくのかんがえた Itamae/Serverspec 構成フレームワーク 〜 Kondate 〜
ぼくのかんがえた Itamae/Serverspec 構成フレームワーク 〜 Kondate 〜ぼくのかんがえた Itamae/Serverspec 構成フレームワーク 〜 Kondate 〜
ぼくのかんがえた Itamae/Serverspec 構成フレームワーク 〜 Kondate 〜Naotoshi Seo
 
Serverspecを自分好みにアレンジ スクリーンショットで証跡保存を撲滅-
Serverspecを自分好みにアレンジ スクリーンショットで証跡保存を撲滅- Serverspecを自分好みにアレンジ スクリーンショットで証跡保存を撲滅-
Serverspecを自分好みにアレンジ スクリーンショットで証跡保存を撲滅- Daisuke Ikeda
 
Serverspec at Testing Framework Meeting
Serverspec at Testing Framework MeetingServerspec at Testing Framework Meeting
Serverspec at Testing Framework MeetingGosuke Miyashita
 
Chefで作る開発環境
Chefで作る開発環境Chefで作る開発環境
Chefで作る開発環境regret raym
 
ポリドックにServerspecを教えよう!
ポリドックにServerspecを教えよう!ポリドックにServerspecを教えよう!
ポリドックにServerspecを教えよう!ftnk
 
マニアックツール紹介、マネジメントのKnife-Zero(Chef)とテストスイートInSpec
マニアックツール紹介、マネジメントのKnife-Zero(Chef)とテストスイートInSpecマニアックツール紹介、マネジメントのKnife-Zero(Chef)とテストスイートInSpec
マニアックツール紹介、マネジメントのKnife-Zero(Chef)とテストスイートInSpecYukihiko SAWANOBORI
 
ネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chefネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chefnpsg
 
Chef+Vagrantでクラウド環境構築自動化ハッカソン 結果発表 #atithack
Chef+Vagrantでクラウド環境構築自動化ハッカソン 結果発表 #atithackChef+Vagrantでクラウド環境構築自動化ハッカソン 結果発表 #atithack
Chef+Vagrantでクラウド環境構築自動化ハッカソン 結果発表 #atithack満徳 関
 
Serverspecを使ってみた話
Serverspecを使ってみた話Serverspecを使ってみた話
Serverspecを使ってみた話Yasufumi Moritake
 
AWSとAnsibleで実践!プロビジョニング入門‐Lamp+Laravel-
AWSとAnsibleで実践!プロビジョニング入門‐Lamp+Laravel-AWSとAnsibleで実践!プロビジョニング入門‐Lamp+Laravel-
AWSとAnsibleで実践!プロビジョニング入門‐Lamp+Laravel-靖 小田島
 
Ansible 入門 #01 (初心者向け)
Ansible 入門 #01 (初心者向け)Ansible 入門 #01 (初心者向け)
Ansible 入門 #01 (初心者向け)Taro Hirose
 
Chef windows linux環境構築
Chef windows linux環境構築Chef windows linux環境構築
Chef windows linux環境構築靖 小田島
 
Server specのご紹介
Server specのご紹介Server specのご紹介
Server specのご紹介Akira Kaneda
 
さくらインターネットにおけるServerspec導入事例(DevOps勉強会 #3 Serverspecの巻)
さくらインターネットにおけるServerspec導入事例(DevOps勉強会 #3 Serverspecの巻)さくらインターネットにおけるServerspec導入事例(DevOps勉強会 #3 Serverspecの巻)
さくらインターネットにおけるServerspec導入事例(DevOps勉強会 #3 Serverspecの巻)さくらインターネット株式会社
 
Ansible quickstart
Ansible quickstartAnsible quickstart
Ansible quickstartHideki Saito
 
DevOpsのアプローチと クラウド/バーチャル環境/構成管理ツール のお話
DevOpsのアプローチと クラウド/バーチャル環境/構成管理ツール のお話DevOpsのアプローチと クラウド/バーチャル環境/構成管理ツール のお話
DevOpsのアプローチと クラウド/バーチャル環境/構成管理ツール のお話Yukihiko SAWANOBORI
 

Was ist angesagt? (20)

Ansibleで始めるinfraTDD(初級編)
Ansibleで始めるinfraTDD(初級編)Ansibleで始めるinfraTDD(初級編)
Ansibleで始めるinfraTDD(初級編)
 
serverspecでサーバ環境のテストを書いてみよう
serverspecでサーバ環境のテストを書いてみようserverspecでサーバ環境のテストを書いてみよう
serverspecでサーバ環境のテストを書いてみよう
 
ぼくのかんがえた Itamae/Serverspec 構成フレームワーク 〜 Kondate 〜
ぼくのかんがえた Itamae/Serverspec 構成フレームワーク 〜 Kondate 〜ぼくのかんがえた Itamae/Serverspec 構成フレームワーク 〜 Kondate 〜
ぼくのかんがえた Itamae/Serverspec 構成フレームワーク 〜 Kondate 〜
 
Serverspecを自分好みにアレンジ スクリーンショットで証跡保存を撲滅-
Serverspecを自分好みにアレンジ スクリーンショットで証跡保存を撲滅- Serverspecを自分好みにアレンジ スクリーンショットで証跡保存を撲滅-
Serverspecを自分好みにアレンジ スクリーンショットで証跡保存を撲滅-
 
Serverspec at Testing Framework Meeting
Serverspec at Testing Framework MeetingServerspec at Testing Framework Meeting
Serverspec at Testing Framework Meeting
 
Chefで作る開発環境
Chefで作る開発環境Chefで作る開発環境
Chefで作る開発環境
 
ポリドックにServerspecを教えよう!
ポリドックにServerspecを教えよう!ポリドックにServerspecを教えよう!
ポリドックにServerspecを教えよう!
 
マニアックツール紹介、マネジメントのKnife-Zero(Chef)とテストスイートInSpec
マニアックツール紹介、マネジメントのKnife-Zero(Chef)とテストスイートInSpecマニアックツール紹介、マネジメントのKnife-Zero(Chef)とテストスイートInSpec
マニアックツール紹介、マネジメントのKnife-Zero(Chef)とテストスイートInSpec
 
ネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chefネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chef
 
Chef+Vagrantでクラウド環境構築自動化ハッカソン 結果発表 #atithack
Chef+Vagrantでクラウド環境構築自動化ハッカソン 結果発表 #atithackChef+Vagrantでクラウド環境構築自動化ハッカソン 結果発表 #atithack
Chef+Vagrantでクラウド環境構築自動化ハッカソン 結果発表 #atithack
 
Serverspecを使ってみた話
Serverspecを使ってみた話Serverspecを使ってみた話
Serverspecを使ってみた話
 
AWSとAnsibleで実践!プロビジョニング入門‐Lamp+Laravel-
AWSとAnsibleで実践!プロビジョニング入門‐Lamp+Laravel-AWSとAnsibleで実践!プロビジョニング入門‐Lamp+Laravel-
AWSとAnsibleで実践!プロビジョニング入門‐Lamp+Laravel-
 
Ansible 入門 #01 (初心者向け)
Ansible 入門 #01 (初心者向け)Ansible 入門 #01 (初心者向け)
Ansible 入門 #01 (初心者向け)
 
Chef windows linux環境構築
Chef windows linux環境構築Chef windows linux環境構築
Chef windows linux環境構築
 
Ansible入門
Ansible入門Ansible入門
Ansible入門
 
Niigata.pm #1
Niigata.pm #1Niigata.pm #1
Niigata.pm #1
 
Server specのご紹介
Server specのご紹介Server specのご紹介
Server specのご紹介
 
さくらインターネットにおけるServerspec導入事例(DevOps勉強会 #3 Serverspecの巻)
さくらインターネットにおけるServerspec導入事例(DevOps勉強会 #3 Serverspecの巻)さくらインターネットにおけるServerspec導入事例(DevOps勉強会 #3 Serverspecの巻)
さくらインターネットにおけるServerspec導入事例(DevOps勉強会 #3 Serverspecの巻)
 
Ansible quickstart
Ansible quickstartAnsible quickstart
Ansible quickstart
 
DevOpsのアプローチと クラウド/バーチャル環境/構成管理ツール のお話
DevOpsのアプローチと クラウド/バーチャル環境/構成管理ツール のお話DevOpsのアプローチと クラウド/バーチャル環境/構成管理ツール のお話
DevOpsのアプローチと クラウド/バーチャル環境/構成管理ツール のお話
 

Ähnlich wie 開発エンジニアがChefで テスト駆動サーバー設定してみた #biglobetechtalk

テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-
テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-
テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-賢 秋穂
 
自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~
自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~
自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~aha_oretama
 
自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~
自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~
自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~Recruit Lifestyle Co., Ltd.
 
Struts2を始めよう!
Struts2を始めよう!Struts2を始めよう!
Struts2を始めよう!Shinpei Ohtani
 
Introduction to Continuous Test Runner MakeGood
Introduction to Continuous Test Runner MakeGoodIntroduction to Continuous Test Runner MakeGood
Introduction to Continuous Test Runner MakeGoodAtsuhiro Kubo
 
はてなのサービスの開発環境
はてなのサービスの開発環境はてなのサービスの開発環境
はてなのサービスの開発環境ast_j
 
Getting Started with Testing using PHPUnit
Getting Started with Testing using PHPUnitGetting Started with Testing using PHPUnit
Getting Started with Testing using PHPUnitAtsuhiro Kubo
 
GrowthForecastことはじめ
GrowthForecastことはじめGrowthForecastことはじめ
GrowthForecastことはじめMakoto Taniwaki
 
UIテストの実行時間の短縮の方法
UIテストの実行時間の短縮の方法UIテストの実行時間の短縮の方法
UIテストの実行時間の短縮の方法Toshiyuki Hirata
 
GruntでJavaScript 前作業の自動化!
GruntでJavaScript 前作業の自動化!GruntでJavaScript 前作業の自動化!
GruntでJavaScript 前作業の自動化!leverages_event
 
あなたの安心を高速に守る Container-based CI
あなたの安心を高速に守る Container-based CIあなたの安心を高速に守る Container-based CI
あなたの安心を高速に守る Container-based CIWataru MIYAGUNI
 
Maven2 プラグイン入門
Maven2 プラグイン入門Maven2 プラグイン入門
Maven2 プラグイン入門guestd4898b
 
TDD勉強会キックオフ for Java
TDD勉強会キックオフ for JavaTDD勉強会キックオフ for Java
TDD勉強会キックオフ for JavaYuta Kawadai
 
商用ミドルウェアのPuppet化で気を付けたい5つのこと
商用ミドルウェアのPuppet化で気を付けたい5つのこと商用ミドルウェアのPuppet化で気を付けたい5つのこと
商用ミドルウェアのPuppet化で気を付けたい5つのことNTT DATA OSS Professional Services
 
関西Php勉強会のlimeの話
関西Php勉強会のlimeの話関西Php勉強会のlimeの話
関西Php勉強会のlimeの話Hisateru Tanaka
 
Lambda(Python)のデプロイについて考えたというか作った
Lambda(Python)のデプロイについて考えたというか作ったLambda(Python)のデプロイについて考えたというか作った
Lambda(Python)のデプロイについて考えたというか作ったTerui Masashi
 
5minQues - SWET近況報告
5minQues - SWET近況報告5minQues - SWET近況報告
5minQues - SWET近況報告Masaki Nakagawa
 

Ähnlich wie 開発エンジニアがChefで テスト駆動サーバー設定してみた #biglobetechtalk (20)

テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-
テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-
テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-
 
自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~
自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~
自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~
 
自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~
自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~
自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~
 
Struts2を始めよう!
Struts2を始めよう!Struts2を始めよう!
Struts2を始めよう!
 
web server
web serverweb server
web server
 
Introduction to Continuous Test Runner MakeGood
Introduction to Continuous Test Runner MakeGoodIntroduction to Continuous Test Runner MakeGood
Introduction to Continuous Test Runner MakeGood
 
はてなのサービスの開発環境
はてなのサービスの開発環境はてなのサービスの開発環境
はてなのサービスの開発環境
 
Getting Started with Testing using PHPUnit
Getting Started with Testing using PHPUnitGetting Started with Testing using PHPUnit
Getting Started with Testing using PHPUnit
 
ICHIGEKI-MT 2015/03/14
ICHIGEKI-MT 2015/03/14ICHIGEKI-MT 2015/03/14
ICHIGEKI-MT 2015/03/14
 
GrowthForecastことはじめ
GrowthForecastことはじめGrowthForecastことはじめ
GrowthForecastことはじめ
 
UIテストの実行時間の短縮の方法
UIテストの実行時間の短縮の方法UIテストの実行時間の短縮の方法
UIテストの実行時間の短縮の方法
 
GruntでJavaScript 前作業の自動化!
GruntでJavaScript 前作業の自動化!GruntでJavaScript 前作業の自動化!
GruntでJavaScript 前作業の自動化!
 
実は怖くないDevOps
実は怖くないDevOps実は怖くないDevOps
実は怖くないDevOps
 
あなたの安心を高速に守る Container-based CI
あなたの安心を高速に守る Container-based CIあなたの安心を高速に守る Container-based CI
あなたの安心を高速に守る Container-based CI
 
Maven2 プラグイン入門
Maven2 プラグイン入門Maven2 プラグイン入門
Maven2 プラグイン入門
 
TDD勉強会キックオフ for Java
TDD勉強会キックオフ for JavaTDD勉強会キックオフ for Java
TDD勉強会キックオフ for Java
 
商用ミドルウェアのPuppet化で気を付けたい5つのこと
商用ミドルウェアのPuppet化で気を付けたい5つのこと商用ミドルウェアのPuppet化で気を付けたい5つのこと
商用ミドルウェアのPuppet化で気を付けたい5つのこと
 
関西Php勉強会のlimeの話
関西Php勉強会のlimeの話関西Php勉強会のlimeの話
関西Php勉強会のlimeの話
 
Lambda(Python)のデプロイについて考えたというか作った
Lambda(Python)のデプロイについて考えたというか作ったLambda(Python)のデプロイについて考えたというか作った
Lambda(Python)のデプロイについて考えたというか作った
 
5minQues - SWET近況報告
5minQues - SWET近況報告5minQues - SWET近況報告
5minQues - SWET近況報告
 

Mehr von BIGLOBE Tech Talk

アジャイル実践のための3つのコツ BIGLOBEはこうやりました
アジャイル実践のための3つのコツ BIGLOBEはこうやりましたアジャイル実践のための3つのコツ BIGLOBEはこうやりました
アジャイル実践のための3つのコツ BIGLOBEはこうやりましたBIGLOBE Tech Talk
 
リーンでアジャイルにAndroidアプリ開発をしてみた!(NECビッグローブ ABC向け資料)
リーンでアジャイルにAndroidアプリ開発をしてみた!(NECビッグローブ ABC向け資料)リーンでアジャイルにAndroidアプリ開発をしてみた!(NECビッグローブ ABC向け資料)
リーンでアジャイルにAndroidアプリ開発をしてみた!(NECビッグローブ ABC向け資料)BIGLOBE Tech Talk
 
エンジニアからはじめるリーンスタートアップ(応募スライド)
エンジニアからはじめるリーンスタートアップ(応募スライド)エンジニアからはじめるリーンスタートアップ(応募スライド)
エンジニアからはじめるリーンスタートアップ(応募スライド)BIGLOBE Tech Talk
 
顧客開発モデルの実践事例のご紹介 BIGLOBE 芳賀
顧客開発モデルの実践事例のご紹介 BIGLOBE 芳賀顧客開発モデルの実践事例のご紹介 BIGLOBE 芳賀
顧客開発モデルの実践事例のご紹介 BIGLOBE 芳賀BIGLOBE Tech Talk
 

Mehr von BIGLOBE Tech Talk (6)

アジャイル実践のための3つのコツ BIGLOBEはこうやりました
アジャイル実践のための3つのコツ BIGLOBEはこうやりましたアジャイル実践のための3つのコツ BIGLOBEはこうやりました
アジャイル実践のための3つのコツ BIGLOBEはこうやりました
 
リーンでアジャイルにAndroidアプリ開発をしてみた!(NECビッグローブ ABC向け資料)
リーンでアジャイルにAndroidアプリ開発をしてみた!(NECビッグローブ ABC向け資料)リーンでアジャイルにAndroidアプリ開発をしてみた!(NECビッグローブ ABC向け資料)
リーンでアジャイルにAndroidアプリ開発をしてみた!(NECビッグローブ ABC向け資料)
 
エンジニアからはじめるリーンスタートアップ(応募スライド)
エンジニアからはじめるリーンスタートアップ(応募スライド)エンジニアからはじめるリーンスタートアップ(応募スライド)
エンジニアからはじめるリーンスタートアップ(応募スライド)
 
agilejapan2012biglobedojo
agilejapan2012biglobedojoagilejapan2012biglobedojo
agilejapan2012biglobedojo
 
biglobedojo7
biglobedojo7biglobedojo7
biglobedojo7
 
顧客開発モデルの実践事例のご紹介 BIGLOBE 芳賀
顧客開発モデルの実践事例のご紹介 BIGLOBE 芳賀顧客開発モデルの実践事例のご紹介 BIGLOBE 芳賀
顧客開発モデルの実践事例のご紹介 BIGLOBE 芳賀
 

Kürzlich hochgeladen

Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールsugiuralab
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価sugiuralab
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 

Kürzlich hochgeladen (8)

Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツール
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 

開発エンジニアがChefで テスト駆動サーバー設定してみた #biglobetechtalk