第25回【フリースタイル】PORTもくもく会 の資料
自己紹介
名前: sinsoku
会社: 株式会社grooves
できる: Ruby, Rails
できない: Clojure
github: sinsoku
twitter: @sinsoku_listy
宣伝おわり
Packer 知ってます?
Packer by HashiCorp
- Vagrant の会社
- json からイメージを作成できる
- AMI
- Docker container
- VirtualBox
こんな感じ
実例の紹介
Git on AWS Lambda
- Lambda と同じ AMI でビルド
- amzn-ami-hvm-2016.03.3.x86_64-gp2
- インストール先を /tmp にする
- ビルドしたディレクトリを圧縮
- Lambda 実行時に /tmp に解凍
template.json
- builders
- docker
- amazon-ebs
- provisioners
- ansible
- file(amazon-ebs)
- post-processors
- docker-tag(docker)
スクリプト
bin/ci.sh
# !/bin/bash
set -ev
if [[ "${TRAVIS_BRANCH}" = "master" || -n "${TRAVIS_TAG}" ]]; then
packer build template.json
else
packer build -only=docker template.json
fi
ブランチと実行される処理
まとめ
- プロビジョニングのテストが可能
- CI できる
- README は少ないけど OSS です
- master へのマージは約10円
- m3.medium($0.096/h)