SlideShare a Scribd company logo
1 of 31
Itamae – Serverspec入門
http://serverspec.org
http://itamae.kitchen
Agenda
 Serverspecの部
◦ serverspecとは
◦ serverspecの仕組み
 serverspec-init
 Rakefileと
spec_helper.rb
 テストの実行
◦ テストコード
 簡単なテストコード
 リソースタイプ
 describe
 Itamaeの部
◦ Itamaeとは
◦ レシピ
 簡単なレシピ
 リソースタイプ
 よく使うrubyの文法
◦ Itamaeの実行
 デモ
自己紹介
 名前
◦ bbrfkr(ビビリフクロウ)
 所属
◦ TIS株式会社 IT基盤技術推進部所属
 ミッション
◦ インフラの構築・運用保守の自動化推進
◦ Ansible、Serverspecを用いた、自動化フ
レームワークの開発
Itamaeの部
http://itamae.kitchen
Itamaeとは
 構成管理ツールの一つ
 サーバの「あるべき状態」を記述し、
その状態に収束させる
 競合製品にAnsible、Chefなど
 クックパッド社の荒井良太さんを中心
に開発
http://itamae.kitchen
Itamaeとは
 他の構成管理ツールとの比較
Itamae Ansible Chef
エージェントの
必要性
不要 不要 必要
レシピ/
プレイブックの
記述言語
Ruby
(DSL)
YAML Ruby
(DSL)
既存モジュール
/リソースの数
少ない
(15個)
非常に多い
(806個)
多い
(66個)
レシピ
 簡単なレシピ
◦ dockerパッケージをインストール
◦ dockerサービスの起動、自動起動設定
package "docker" do
action :install
end
service "docker" do
action [:enable, :start]
end
レシピ
 リソースタイプ
◦ Itamaeが用意している、設定対象および
その設定モジュール群
package "docker" do
action :install
end
「package」がリソースタイプ
レシピ
 packageリソース
◦ パッケージのインストール、アンインス
トール
package "docker" do
action :install
end
 serviceリソース
◦ サービスの起動/停止、自動起動設定
service "docker" do
action [:enable, :start]
end
レシピ
 fileリソース
◦ ファイルの配置/削除、権限/所有者設定
◦ ファイルの内容変更
file "/foo" do
action :edit
block do |content|
content.gsub!("world", "Itamae")
end
end
レシピ
 executeリソース
◦ 任意のコマンド実行
execute "touch /path/to/file" do
not_if "test -e /path/to/file"
end
※run_commandメソッド
◦ 任意のコマンドを実行。その結果をレシ
ピ内の分岐条件などに使える
result = run_command("test -e /path/to/file", error: false)
if result.exit_status != 0
execute "touch /path/to/file"
end
レシピ
 よく使うrubyの文法
◦ if文
 条件分岐に利用。
 アップデートがあったときのみ、
「yum update -y」を叩いたりとか
cmd = "sudo yum update --assumeno | grep "No packages""
update_flag = run_command(cmd, error: false).exit_status
if update_flag != 0
execute "yum update -y"
end
レシピ
 よく使うrubyの文法
◦ eachメソッド
 繰り返しに利用
 複数のパッケージをインストールするときに
packages = ["openstack-nova-api", "openstack-nova-conductor", 
"openstack-nova-console", "openstack-nova-novncproxy", 
"openstack-nova-scheduler"]
packages.each do |pkg|
package pkg do
action :install
end
end
レシピ
 よく使うrubyの文法
◦ ヒアドキュメント
 長い文字列を定義するときに便利
 長いコマンドを見やすく定義できる
cmd = <<-"EOS"
cd /etc/swift && 
swift-ring-builder account.builder 
add --region 1 --zone 1 --ip 192.168.0.10 --port 6002 
--device sdb --weight 100
EOS
execute cmd
Itamaeの実行
 「itamae ssh」コマンドで実行
◦ -h:対象ホストを指定
◦ -u:接続ユーザを指定
◦ -p:接続ポートを指定
$ itamae ssh -h 192.168.0.10 -u root -p 22 cookbook.rb
Serverspecの部
http://serverspec.org
Serverspecとは
 インフラの自動テストツール
 対象サーバにSSHで接続し、テスト用
コマンドを叩く
 サーバの内部状態を確認できる
◦ ホワイトボックステスト
 エージェントレス
 開発者は「宮下 剛輔」さん
http://serverspec.org
Serverspecの仕組み
 serverspec-init
◦ serverspecの実行に必要な一式のディレ
クトリ構造を作ってくれるコマンド
◦ 実行すると以下のような構造ができる
.
|-- Rakefile
`-- spec
|-- 192.168.0.1
| `-- sample_spec.rb
`-- spec_helper.rb
(rake)タスクを定義するファイル
テストコードの実装を助けるモ
ジュール
httpdのインストール状況を試験す
るサンプルコード
Serverspecの仕組み
 Rakefile
◦ rakeタスクを定義するファイル
◦ serverspecによるテスト実行の実態は、
rakeタスクの実行
◦ デフォルトでは、「spec/<ホスト名>」
ディレクトリ内のテストコードを<ホスト
名>に対して実行するようにrakeタスクが
定義されている
Serverspecの仕組み
 spec_helper.rb
◦ テストコードの実装を助けるモジュール
◦ テストコードが奇麗になるように、必要
なモジュールを先にロードする
◦ 対象サーバへの接続方法もこのファイル
で定義
◆Check!!◆
Rakefileとspec_helper.rbのカスタマイズで
Serverspecの挙動は如何様にも変えられる
Serverspecの仕組み
 テストの実行
◦ テストの実行はRakefileがある場所で以下
のコマンドを実行するだけ
$ rake spec
テストコード
 簡単なテストコード
◦ 以下を確認
 「httpd」パッケージがインストールされてい
ること
require 'spec_helper'
describe ("check httpd is installed") do
describe package("httpd") do
it { should be_installed }
end
end
テストコード
 リソースタイプ
◦ Serverspecが用意した、テスト対象、
およびテストモジュール群
describe package("httpd") do
it { should be_installed }
end
「package」がリソースタイプ
テストコード
 packageリソース
◦ パッケージに対するテストモジュールを
持っている
 インストール確認
 インストールバージョン確認
describe package("httpd") do
it { should be_installed }
end
テストコード
 serviceリソース
◦ サービスに対するテストモジュールを
持っている
 起動確認
 自動起動設定確認
describe service("httpd") do
it { should be_enabled }
end
テストコード
 fileリソース
◦ ファイルやディレクトリに対するテスト
モジュールを持っている
 存在確認
 ファイルの内容確認
 権限確認
 所有者確認
describe file("/var/www/html/index.html") do
it { should exist }
end
テストコード
 describe
◦ テストのグループを作るのに使う
◦ 実際のテストはdescribeブロックの中の
it、its文
describe ("check httpd service is enabled and running")
describe service("httpd") do
it { should be_running }
it { should be_enabled }
end
end
デモ
http://serverspec.org
http://itamae.kitchen
コントロールマシン Webサーバ
デモ内容
テーマ:HTTPSサイトの構築
• 環境
設定
・
テスト
http://serverspec.org
http://itamae.kitchen
Apache
mod_ssl
デモ内容
テーマ:HTTPSサイトの構築
[Itamae]
•パッケージのインストール
•httpd
•mod_ssl
•秘密鍵の作成
•自己署名証明書の作成
•設定ファイルの修正
•index.htmlの配置
•サービスの起動
•サービスの自動起動設定
[Serverspec]
•インストールチェック
•httpd
•mod_ssl
•秘密鍵の存在確認
•自己署名証明書の存在確認
•設定ファイルの内容確認
•index.htmlの存在確認
•サービスの起動確認
•サービスの自動起動設定確認
Itamae/Serverspecで自動化するところ
Itamae-Serverspec入門

More Related Content

What's hot

Achieving compliance With MongoDB Security
Achieving compliance With MongoDB Security Achieving compliance With MongoDB Security
Achieving compliance With MongoDB Security Mydbops
 
Zabbixのパフォーマンスチューニング & インストール時の注意点
Zabbixのパフォーマンスチューニング & インストール時の注意点Zabbixのパフォーマンスチューニング & インストール時の注意点
Zabbixのパフォーマンスチューニング & インストール時の注意点Kodai Terashima
 
Fluentdで本番環境を再現
Fluentdで本番環境を再現Fluentdで本番環境を再現
Fluentdで本番環境を再現Hiroshi Toyama
 
serverspecを使用したサーバ設定テストの実例
serverspecを使用したサーバ設定テストの実例serverspecを使用したサーバ設定テストの実例
serverspecを使用したサーバ設定テストの実例Koichi Shimozono
 
mongodb와 mysql의 CRUD 연산의 성능 비교
mongodb와 mysql의 CRUD 연산의 성능 비교mongodb와 mysql의 CRUD 연산의 성능 비교
mongodb와 mysql의 CRUD 연산의 성능 비교Woo Yeong Choi
 
Amazon Redshiftへの移行方法と設計のポイント(db tech showcase 2016)
Amazon Redshiftへの移行方法と設計のポイント(db tech showcase 2016)Amazon Redshiftへの移行方法と設計のポイント(db tech showcase 2016)
Amazon Redshiftへの移行方法と設計のポイント(db tech showcase 2016)Amazon Web Services Japan
 
Db2をAWS上に構築する際のヒント&TIPS 2019年7月版
Db2をAWS上に構築する際のヒント&TIPS 2019年7月版Db2をAWS上に構築する際のヒント&TIPS 2019年7月版
Db2をAWS上に構築する際のヒント&TIPS 2019年7月版Akira Shimosako
 
AWS LambdaとDynamoDBがこんなにツライはずがない #ssmjp
AWS LambdaとDynamoDBがこんなにツライはずがない #ssmjpAWS LambdaとDynamoDBがこんなにツライはずがない #ssmjp
AWS LambdaとDynamoDBがこんなにツライはずがない #ssmjpMasahiro NAKAYAMA
 
TidalScaleで複数の物理サーバを集約しインメモリーコンピューティングを実現
TidalScaleで複数の物理サーバを集約しインメモリーコンピューティングを実現TidalScaleで複数の物理サーバを集約しインメモリーコンピューティングを実現
TidalScaleで複数の物理サーバを集約しインメモリーコンピューティングを実現YosukeIshii6
 
AWS Organizations連携サービスの罠(Security JAWS 第26回 発表資料)
AWS Organizations連携サービスの罠(Security JAWS 第26回 発表資料)AWS Organizations連携サービスの罠(Security JAWS 第26回 発表資料)
AWS Organizations連携サービスの罠(Security JAWS 第26回 発表資料)NTT DATA Technology & Innovation
 
Deep Dive: Amazon DynamoDB (db tech showcase 2016)
Deep Dive: Amazon DynamoDB (db tech showcase 2016) Deep Dive: Amazon DynamoDB (db tech showcase 2016)
Deep Dive: Amazon DynamoDB (db tech showcase 2016) Amazon Web Services Japan
 
これでAWSマスター!? 初心者向けAWS簡単講座
これでAWSマスター!? 初心者向けAWS簡単講座これでAWSマスター!? 初心者向けAWS簡単講座
これでAWSマスター!? 初心者向けAWS簡単講座Serverworks Co.,Ltd.
 
AWS Black Belt Online Seminar 2017 Amazon ElastiCache
AWS Black Belt Online Seminar 2017 Amazon ElastiCacheAWS Black Belt Online Seminar 2017 Amazon ElastiCache
AWS Black Belt Online Seminar 2017 Amazon ElastiCacheAmazon Web Services Japan
 
20200212 AWS Black Belt Online Seminar AWS Systems Manager
20200212 AWS Black Belt Online Seminar AWS Systems Manager20200212 AWS Black Belt Online Seminar AWS Systems Manager
20200212 AWS Black Belt Online Seminar AWS Systems ManagerAmazon Web Services Japan
 
[Cloud OnAir] Google Cloud で実践するマイクロサービスアーキテクチャ 2019年2月21日 放送
 [Cloud OnAir] Google Cloud で実践するマイクロサービスアーキテクチャ 2019年2月21日 放送 [Cloud OnAir] Google Cloud で実践するマイクロサービスアーキテクチャ 2019年2月21日 放送
[Cloud OnAir] Google Cloud で実践するマイクロサービスアーキテクチャ 2019年2月21日 放送Google Cloud Platform - Japan
 
実践 Amazon KMS #cmdevio2015
実践 Amazon KMS #cmdevio2015実践 Amazon KMS #cmdevio2015
実践 Amazon KMS #cmdevio2015y torazuka
 
Sql server エンジニアに知ってもらいたい!! sql server チューニングアプローチ
Sql server エンジニアに知ってもらいたい!! sql server チューニングアプローチSql server エンジニアに知ってもらいたい!! sql server チューニングアプローチ
Sql server エンジニアに知ってもらいたい!! sql server チューニングアプローチMasayuki Ozawa
 

What's hot (20)

Achieving compliance With MongoDB Security
Achieving compliance With MongoDB Security Achieving compliance With MongoDB Security
Achieving compliance With MongoDB Security
 
Zabbixのパフォーマンスチューニング & インストール時の注意点
Zabbixのパフォーマンスチューニング & インストール時の注意点Zabbixのパフォーマンスチューニング & インストール時の注意点
Zabbixのパフォーマンスチューニング & インストール時の注意点
 
Fluentdで本番環境を再現
Fluentdで本番環境を再現Fluentdで本番環境を再現
Fluentdで本番環境を再現
 
serverspecを使用したサーバ設定テストの実例
serverspecを使用したサーバ設定テストの実例serverspecを使用したサーバ設定テストの実例
serverspecを使用したサーバ設定テストの実例
 
mongodb와 mysql의 CRUD 연산의 성능 비교
mongodb와 mysql의 CRUD 연산의 성능 비교mongodb와 mysql의 CRUD 연산의 성능 비교
mongodb와 mysql의 CRUD 연산의 성능 비교
 
Amazon Redshiftへの移行方法と設計のポイント(db tech showcase 2016)
Amazon Redshiftへの移行方法と設計のポイント(db tech showcase 2016)Amazon Redshiftへの移行方法と設計のポイント(db tech showcase 2016)
Amazon Redshiftへの移行方法と設計のポイント(db tech showcase 2016)
 
Db2をAWS上に構築する際のヒント&TIPS 2019年7月版
Db2をAWS上に構築する際のヒント&TIPS 2019年7月版Db2をAWS上に構築する際のヒント&TIPS 2019年7月版
Db2をAWS上に構築する際のヒント&TIPS 2019年7月版
 
Spring boot
Spring bootSpring boot
Spring boot
 
AWS LambdaとDynamoDBがこんなにツライはずがない #ssmjp
AWS LambdaとDynamoDBがこんなにツライはずがない #ssmjpAWS LambdaとDynamoDBがこんなにツライはずがない #ssmjp
AWS LambdaとDynamoDBがこんなにツライはずがない #ssmjp
 
TidalScaleで複数の物理サーバを集約しインメモリーコンピューティングを実現
TidalScaleで複数の物理サーバを集約しインメモリーコンピューティングを実現TidalScaleで複数の物理サーバを集約しインメモリーコンピューティングを実現
TidalScaleで複数の物理サーバを集約しインメモリーコンピューティングを実現
 
AWS Organizations連携サービスの罠(Security JAWS 第26回 発表資料)
AWS Organizations連携サービスの罠(Security JAWS 第26回 発表資料)AWS Organizations連携サービスの罠(Security JAWS 第26回 発表資料)
AWS Organizations連携サービスの罠(Security JAWS 第26回 発表資料)
 
AWS Systems manager 入門
AWS Systems manager 入門AWS Systems manager 入門
AWS Systems manager 入門
 
Deep Dive: Amazon DynamoDB (db tech showcase 2016)
Deep Dive: Amazon DynamoDB (db tech showcase 2016) Deep Dive: Amazon DynamoDB (db tech showcase 2016)
Deep Dive: Amazon DynamoDB (db tech showcase 2016)
 
これでAWSマスター!? 初心者向けAWS簡単講座
これでAWSマスター!? 初心者向けAWS簡単講座これでAWSマスター!? 初心者向けAWS簡単講座
これでAWSマスター!? 初心者向けAWS簡単講座
 
AWS Black Belt Online Seminar 2017 Amazon ElastiCache
AWS Black Belt Online Seminar 2017 Amazon ElastiCacheAWS Black Belt Online Seminar 2017 Amazon ElastiCache
AWS Black Belt Online Seminar 2017 Amazon ElastiCache
 
AWS CLIでAssumeRole
AWS CLIでAssumeRoleAWS CLIでAssumeRole
AWS CLIでAssumeRole
 
20200212 AWS Black Belt Online Seminar AWS Systems Manager
20200212 AWS Black Belt Online Seminar AWS Systems Manager20200212 AWS Black Belt Online Seminar AWS Systems Manager
20200212 AWS Black Belt Online Seminar AWS Systems Manager
 
[Cloud OnAir] Google Cloud で実践するマイクロサービスアーキテクチャ 2019年2月21日 放送
 [Cloud OnAir] Google Cloud で実践するマイクロサービスアーキテクチャ 2019年2月21日 放送 [Cloud OnAir] Google Cloud で実践するマイクロサービスアーキテクチャ 2019年2月21日 放送
[Cloud OnAir] Google Cloud で実践するマイクロサービスアーキテクチャ 2019年2月21日 放送
 
実践 Amazon KMS #cmdevio2015
実践 Amazon KMS #cmdevio2015実践 Amazon KMS #cmdevio2015
実践 Amazon KMS #cmdevio2015
 
Sql server エンジニアに知ってもらいたい!! sql server チューニングアプローチ
Sql server エンジニアに知ってもらいたい!! sql server チューニングアプローチSql server エンジニアに知ってもらいたい!! sql server チューニングアプローチ
Sql server エンジニアに知ってもらいたい!! sql server チューニングアプローチ
 

Similar to Itamae-Serverspec入門

テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-
テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-
テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-賢 秋穂
 
Ansibleで始めるinfraTDD(初級編)
Ansibleで始めるinfraTDD(初級編)Ansibleで始めるinfraTDD(初級編)
Ansibleで始めるinfraTDD(初級編)佐久本正太
 
入門 Chef Server #biglobetechtalk
入門 Chef Server #biglobetechtalk入門 Chef Server #biglobetechtalk
入門 Chef Server #biglobetechtalkBIGLOBE Tech Talk
 
S16 Microsoft Azure 上での Chef 環境の構成
S16 Microsoft Azure 上での Chef 環境の構成S16 Microsoft Azure 上での Chef 環境の構成
S16 Microsoft Azure 上での Chef 環境の構成Microsoft Azure Japan
 
ポリドックにServerspecを教えよう!
ポリドックにServerspecを教えよう!ポリドックにServerspecを教えよう!
ポリドックにServerspecを教えよう!ftnk
 
Openstack SPICE console (icehouse) verification
Openstack SPICE console (icehouse) verificationOpenstack SPICE console (icehouse) verification
Openstack SPICE console (icehouse) verificationyukihiro kawada
 
成長を加速する minne の技術基盤戦略
成長を加速する minne の技術基盤戦略成長を加速する minne の技術基盤戦略
成長を加速する minne の技術基盤戦略Hiroshi SHIBATA
 
Cloudstack user group meeting in osaka
Cloudstack user group meeting in osakaCloudstack user group meeting in osaka
Cloudstack user group meeting in osakaNaotaka Jay HOTTA
 
Serverspec at Testing Framework Meeting
Serverspec at Testing Framework MeetingServerspec at Testing Framework Meeting
Serverspec at Testing Framework MeetingGosuke Miyashita
 
第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介
第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介
第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介Midori Oge
 
Ansible 入門 #01 (初心者向け)
Ansible 入門 #01 (初心者向け)Ansible 入門 #01 (初心者向け)
Ansible 入門 #01 (初心者向け)Taro Hirose
 
20130723 ecシステムにchefを導入してみた v1.0
20130723 ecシステムにchefを導入してみた v1.020130723 ecシステムにchefを導入してみた v1.0
20130723 ecシステムにchefを導入してみた v1.0NIFTY Cloud
 
Chef社内勉強会(第1回)
Chef社内勉強会(第1回)Chef社内勉強会(第1回)
Chef社内勉強会(第1回)Yoshinori Nakanishi
 
Chef SoloからItamaeに完全移行した話+
Chef SoloからItamaeに完全移行した話+Chef SoloからItamaeに完全移行した話+
Chef SoloからItamaeに完全移行した話+Tsuyoshi Torii
 
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (後編)
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (後編)大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (後編)
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (後編)Yuuki Namikawa
 
Chef+serverspec+werckerでインフラCIする話
Chef+serverspec+werckerでインフラCIする話Chef+serverspec+werckerでインフラCIする話
Chef+serverspec+werckerでインフラCIする話Masayuki Morita
 

Similar to Itamae-Serverspec入門 (20)

テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-
テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-
テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-
 
Ansibleで始めるinfraTDD(初級編)
Ansibleで始めるinfraTDD(初級編)Ansibleで始めるinfraTDD(初級編)
Ansibleで始めるinfraTDD(初級編)
 
AWS運用自動化への第一歩 
AWS運用自動化への第一歩 AWS運用自動化への第一歩 
AWS運用自動化への第一歩 
 
Apache Module
Apache ModuleApache Module
Apache Module
 
入門 Chef Server #biglobetechtalk
入門 Chef Server #biglobetechtalk入門 Chef Server #biglobetechtalk
入門 Chef Server #biglobetechtalk
 
S16 Microsoft Azure 上での Chef 環境の構成
S16 Microsoft Azure 上での Chef 環境の構成S16 Microsoft Azure 上での Chef 環境の構成
S16 Microsoft Azure 上での Chef 環境の構成
 
ポリドックにServerspecを教えよう!
ポリドックにServerspecを教えよう!ポリドックにServerspecを教えよう!
ポリドックにServerspecを教えよう!
 
Openstack SPICE console (icehouse) verification
Openstack SPICE console (icehouse) verificationOpenstack SPICE console (icehouse) verification
Openstack SPICE console (icehouse) verification
 
成長を加速する minne の技術基盤戦略
成長を加速する minne の技術基盤戦略成長を加速する minne の技術基盤戦略
成長を加速する minne の技術基盤戦略
 
Cloudstack user group meeting in osaka
Cloudstack user group meeting in osakaCloudstack user group meeting in osaka
Cloudstack user group meeting in osaka
 
Redmine Ansible
Redmine AnsibleRedmine Ansible
Redmine Ansible
 
Serverspec at Testing Framework Meeting
Serverspec at Testing Framework MeetingServerspec at Testing Framework Meeting
Serverspec at Testing Framework Meeting
 
第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介
第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介
第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介
 
130412 kayac-cinnamon
130412 kayac-cinnamon130412 kayac-cinnamon
130412 kayac-cinnamon
 
Ansible 入門 #01 (初心者向け)
Ansible 入門 #01 (初心者向け)Ansible 入門 #01 (初心者向け)
Ansible 入門 #01 (初心者向け)
 
20130723 ecシステムにchefを導入してみた v1.0
20130723 ecシステムにchefを導入してみた v1.020130723 ecシステムにchefを導入してみた v1.0
20130723 ecシステムにchefを導入してみた v1.0
 
Chef社内勉強会(第1回)
Chef社内勉強会(第1回)Chef社内勉強会(第1回)
Chef社内勉強会(第1回)
 
Chef SoloからItamaeに完全移行した話+
Chef SoloからItamaeに完全移行した話+Chef SoloからItamaeに完全移行した話+
Chef SoloからItamaeに完全移行した話+
 
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (後編)
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (後編)大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (後編)
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (後編)
 
Chef+serverspec+werckerでインフラCIする話
Chef+serverspec+werckerでインフラCIする話Chef+serverspec+werckerでインフラCIする話
Chef+serverspec+werckerでインフラCIする話
 

Itamae-Serverspec入門

Editor's Notes

  1. 全体を通して伝えたいこと ・Itamaeの使い方の基本 ・Serverspecの使い方の基本
  2. Itamaeの部: 25分 Serverspecの部: 25分 デモ: 10分 質疑応答: 10分 (時間が許せば)
  3. 伝えたいこと ・Itamaeは構成管理ツール
  4. 伝えたいこと ・Itamaeのメリットは、エージェントレスかつ純粋なスクリプト言語であるrubyを使えること
  5. 伝えたいこと ・レシピの外観
  6. 伝えたいこと ・リソースタイプとは設定対象のこと
  7. 伝えたいこと ・packageリソースとは何か ・serviceリソースとは何か
  8. 伝えたいこと ・fileリソースとは何か
  9. 伝えたいこと ・executeリソースとは何か
  10. 伝えたいこと ・if文とは何か
  11. 伝えたいこと ・eachメソッドとはなにか
  12. 伝えたいこと ・ヒアドキュメントとは何か
  13. 伝えたいこと ・Itamaeをリモートホストに対して実行する方法
  14. 伝えたいこと ・Serverspecはインフラの自動テストツールである
  15. 伝えたいこと ・serverspec-initを使うと、serverspecの実行に必要なディレクトリ構造を作ってくれる。
  16. 伝えたいこと ・Serverspecの実行の実態はrakeのタスク実行
  17. 伝えたいこと ・spec_helper.rbはテストコードの実装を助けるモジュール ・Rakefileとspec_helperのカスタマイズでServerspecの挙動を変えることができる
  18. 伝えたいこと ・Serverspecによるテストの実行方法
  19. 伝えたいこと ・テストコードの外観
  20. 伝えたいこと ・リソースタイプとはテスト対象のこと
  21. 伝えたいこと ・packageリソースとは何か
  22. 伝えたいこと ・serviceリソースとは何か
  23. 伝えたいこと ・fileリソースとは何か
  24. 伝えたいこと ・describeはテストのグループ化に使う
  25. 伝えたいこと ・デモではHTTPSサイトの構築を行う
  26. 伝えたいこと ・デモで自動化する内容 ・これ以外のOSのインストール、接続NICの設定は自動化されていないこと