LoginSignup
12
11

More than 5 years have passed since last update.

Packerで作ったAMIにServerspecを適用してちゃんとできたか確認する

Last updated at Posted at 2015-02-09
  • 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

スクリーンショット 2015-02-09 17.34.43.png

参考

12
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
11