Ansistrano
Ansistranoのインストール
$ ansible-galaxy install carlosbuenosvinos.ansistrano-deploy carlosbuenosvinos.ansistrano-rollback
- downloading role 'ansistrano-deploy', owned by carlosbuenosvinos
- downloading role from https://github.com/ansistrano/deploy/archive/1.10.0.tar.gz
- extracting carlosbuenosvinos.ansistrano-deploy to /usr/local/etc/ansible/roles/carlosbuenosvinos.ansistrano-deploy
- carlosbuenosvinos.ansistrano-deploy was installed successfully
- downloading role 'ansistrano-rollback', owned by carlosbuenosvinos
- downloading role from https://github.com/ansistrano/rollback/archive/1.4.2.tar.gz
- extracting carlosbuenosvinos.ansistrano-rollback to /usr/local/etc/ansible/roles/carlosbuenosvinos.ansistrano-rollback
- carlosbuenosvinos.ansistrano-rollback was installed successfully
playbook の準備
example/my-playbook
playbook
.
├── deploy.yml
├── group_vars
│ └── staging.yml
├── hosts
├── staging
└── rollback.yml
staging
[staging]
stg.example.com
playbook の実行
ansible-playbook -i staging deploy.yml
rollback
ansible-playbook -i staging rollback.yml
ディレクトリ構造
/var/www/app
.
├── current -> ./releases/{$timeStamp}
├── releases
│ ├── {$timeStamp}
│ ├── {過去の$timeStamp}