TravisCIからHyper.shへDockerコンテナなアプリを継続的デプロイ

 Dockerコンテナなアプリをホビー用途でデプロイするならHyper.shがとてもイカしてる。そんなHyper.shとTravisCIを掛け合わせて継続的デプロイを組んでみる。

 このブログで、TravisCIから、テストにとおったアプリのDockerイメージを、継続的にDocker hubへプッシュしていくまではやっている。
.NET CoreのDockerコンテナに入ったWebアプリをTravisCIでCI
 今回はDocker hubへのプッシュ後に、Hyper.shのCLIツールをそのままTravisCIで使ってDockerコンテナを走らせるまで。

 まずHyper.shでアクセストークンとキートークンを発行し、TravisCIで環境変数にセット。




 続いて.travis.ymlにHyper.shのCLIツールでの処理(コンテナ立ち上げ)を追加。
.travis.yml

after_success:
- docker tag matoba/dncindocker:ci matoba/dncindocker:latest
- docker login -u="${DOCKER_USERNAME}" -p="${DOCKER_PASSWORD}"
- docker push matoba/dncindocker:latest
- wget https://hyper-install.s3.amazonaws.com/hyper-linux-x86_64.tar.gz
- tar xzf hyper-linux-x86_64.tar.gz
- ./hyper --help
- ./hyper config --accesskey ${HYPER_ACCESS} --secretkey ${HYPER_KEY}
- ./hyper run -d -p 80:80 --name mersault matoba/dncindocker:latest



 上記までで設定はOK。TravisCIでのテストを走らせる前、Hyper.shではコンテナやイメージはまだゼロ。



 TravisCIでのテストが通ったあとに見るとコンテナやイメージにカウントが増えている



 しっかりコンテナが動いている。



 IPを当ててブラウザでアクセスしてみる。



 管理コンソールを見ていると環境変数を入れるフォームはなさそう。そうなると環境変数を与えられるタイミングはコンテナを起動させるタイミングである。アプリで使われる環境変数はTravisCIに入れて運用していくことになるんかな。
comment: 0