Building and testing Amazon Linux 2 and Vagrant Box with Packer, Ansible and Serverspec.
Install jq if you don't have.
Create IAM user for Packer.
$ ./aws/create-user.sh
Delete user.
$ ./aws/delete-user.sh
$ brew tap hashicorp/tap
$ brew install hashicorp/tap/packer
$ packer --version
1.6.6
$ packer inspect packer/rails.json
$ packer validate packer/rails.json
$ export AWS_ACCESS_KEY_ID="anaccesskey"
$ export AWS_SECRET_ACCESS_KEY="asecretkey"
$ packer build packer/rails.json
$ aws ec2 deregister-image --image-id IMAGE_ID
$ brew install ansible
$ ansible --version
ansible 2.10.4
- Nginx
- Ruby with rbenv
- Node.js
# Check playbook format
$ ansible-playbook ansible/playbook.yml -i ansible/hosts --check
$ brew install vagrant
$ vagrant --version
Vagrant 2.2.14
$ brew install virtualbox
# https://stackoverflow.com/questions/52689672/virtualbox-ns-error-failure-0x80004005-macos
$ vboxmanage --version
6.1.16r140961
$ packer build -force -only=vagrant packer/rails.json
$ vagrant up
$ vagrant ssh
Add new version box configuration to packer/metadata.json
, then run command below.
$ vagrant box update
$ bundle install
$ bundle exec rake spec