昨日[2014-09-14-1] の記事より。
wercker.ymlも毎回Vagrantをインストールして、vagrant upするという無
駄なことをしているので、Docker使って時短させるかもしれない。
この場合Dockerは間違い。Wercker的にはBox使うのが正解なので作ってみ
ました。(このくらいのBoxはあるかと思ったらなかったのが意外でした。)
以下のようにinheritsを使うと、任意のBoxを継承できるみたいです。
ちょっと前までwercker.ymlに複数書けばそうなるかと思ってました。
inherits: wercker/[email protected]
実コードはスクリプトのベタ書きだけです。
script: |
VAGRANT_VERSION=1.6.5
wget https://dl.bintray.com/mitchellh/vagrant/vagrant_${VAGRANT_VERSION}_x86_64.deb
sudo dpkg -i vagrant_${VAGRANT_VERSION}_x86_64.deb
vagrant plugin install vagrant-aws unf
あとはWerckerの管理画面からGitHubのリポジトリを登録し、Wercker
directoryにデプロイすれば使えます。Public Appにすることをお忘れなく。
wercker.ymlはこのようになりました。昨日
と比べるとBoxがwercker/rvmか
らmasutaka/rvm-vagrant-awsに変わったことと、vagrantやvagrant-awsプ
ラグインをインストールしてないのが分かると思います。
Boxの作り方自体はこちらが参考になると思います。
11分33秒かかっていたテストが10分46秒に短縮されました!
って、あれ、あんまり変わってない。。
パフォーマンス云々より、Dockerっぽく改善できたので良しとします。
今度はEC2使わずにWerckerでDocker立ち上げてCIしたいなあ。