- Ansible
init
を実行するためには、community.general.git_config
、community.general.github_deploy_key
、prometheus.prometheus.node_exporter
のモジュールが必要。ansible-galaxy collection install community.general
、ansible-galaxy collection install prometheus.prometheus
でインストールできる。
- Python3系
- Ansibleを動かすのに必要。
source ./bin/init.sh {ディレクトリ名} {サーバーの数}
で必要なディレクトリ構成ができる。
.
├── Makefile
├── s1
│ └── etc
│ ├── mysql
│ │ └── .gitkeep
│ ├── nginx
│ │ └── .gitkeep
│ └── systemd
│ └── system
│ └── .gitkeep
├── s2
│ └── etc
│ ├── mysql
│ │ └── .gitkeep
│ ├── nginx
│ │ └── .gitkeep
│ └── systemd
│ └── system
│ └── .gitkeep
└── s3
└── etc
├── mysql
│ └── .gitkeep
├── nginx
│ └── .gitkeep
└── systemd
└── system
└── .gitkeep
GitHubに上げておく。
./vault.txt
を置き、パスワードを書く。
通常
vault
ansible-vault edit group_vars/all/vault.yml
- ツールのインストール
- Gitの設定
- GitHubリポジトリのセットアップ(コミット・プッシュはしない)
ansible-playbook 0_init.yml
- git pull
- DB、nginx、アプリの再起動
- ログローテーション
デフォルトブランチ
ansible-playbook 1_deploy.yml
ブランチを指定
ansible-playbook 1_deploy.yml -e "deploy_branch={ブランチ名}"