Packerで作ったAMIにServerspecを適用してちゃんとできたか確認する
4157 ワード
- shellなりcloud-initなりでプロビジョニング
- ローカルにあるServerspecのテストケース一式をアップロード
- ExecでServerspecを実行する
こんな手順。
なお、Packerはプロバイダに依存せずプロビジョニングができるので、AWSのAMIだけでなくOpenStackやら何やらにも使えるのでは。
設定.json
settei.json
{
...
"provisioners": [
{
"type": "shell",
"script": "provisioners/setup.sh",
"execute_command": "{{ .Vars }} sudo -E sh '{{ .Path }}'"
},
{
"type": "file",
"source": "serverspec",
"destination": "/tmp"
},
{
"type": "shell",
"script": "provisioners/run-serverspec.sh",
"execute_command": "{{ .Vars }} sudo -E sh '{{ .Path }}'"
}
]
}
sudo
云々は公式にある sudoさせる設定。
Serverspecする
プロジェクトの serverspec/
以下に serverspec-init
などで Exec 設定のプロジェクトを用意しておこう。
run-serverspec.sh
はこんな感じで。
run-serverspec.sh
#!/bin/bash
yum -y -q install rubygem-bundler
cd /tmp/serverspec
bundle install --path vendor/bundle
bundle exec rake spec
rm -rf /tmp/serverspec
yum -y -q remove rubygem-bundler
参考
Author And Source
この問題について(Packerで作ったAMIにServerspecを適用してちゃんとできたか確認する), 我々は、より多くの情報をここで見つけました https://qiita.com/udzura/items/8637973392ed388fac4e著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .