<repo_name>tato-gh/phoenix-blue-green<file_sep>/deploy.sh
#!/bin/bash
# e.g.
# deploy.sh service/service-0.1.0+d853862.tar.gz alpha
# - 引数1のファイル(tarボール)をalpha/betaのいずれかにデプロイする

RELEASEFILE=$1
RELEASETARGET=$2

rm -rf ${RELEASETARGET}/*
tar zxf ${RELEASEFILE} -C ${RELEASETARGET}/
docker-compose restart $RELEASETARGET
<file_sep>/README.md
Phoenixアプリケーションを対象として想定した、
DockerコンテナでのBlue-Green Deploymentの習作です。

deploy.sh: alpha/betaフォルダへのtarボール展開

primary.sh: alpha/betaのいずれかをprimaryに設定 (指定しなかった方がtrial)


**NOTE**

- trialのほうはBasic認証がかかるように（とりあえず）している
- 実際の運用時はHTTPSだろうのでその点でのnginxの追加設定は必要
<file_sep>/primary.sh
#!/bin/bash
# e.g.
# primary.sh beta
# - 指定した alpha/beta のいずれかをprimaryに変更する
# - 雑だけれど用意済みの設定ファイルで上書きする

cp nginx/$1.conf nginx/default.conf
docker-compose exec web nginx -s reload
