Separate Ansible world into setup and deployment.
This makes it possible to run a deployment as opposed to a 'setup' play where all the necessary prerequisites are arranged on the server. We don't need to do that each time. Closes decentral1se/xppl#4. Might help decentral1se/xppl#2.
This commit is contained in:
parent
1d044b5dbc
commit
fc393a3d5f
@ -1,14 +1,27 @@
|
||||
# XPPL Ansible Automation
|
||||
|
||||
An automated deployment for the XPPL.
|
||||
An automated deployment for the XPPL. If you're running these scripts, you'll
|
||||
need SSH access and Sudo permissions on the machines. It is already running
|
||||
deployments for:
|
||||
|
||||
## Run It
|
||||
* [books.vvvvvvaria.org](https://books.vvvvvvaria.org/)
|
||||
|
||||
You'll need to have SSH and Sudo access to [varia.zone] first.
|
||||
## Prerequisites
|
||||
|
||||
You'll need to install [Ansible](https://docs.ansible.com).
|
||||
|
||||
```bash
|
||||
$ sudo apt install -y ansible
|
||||
$ ansible-playbook --ask-become-pass plays/main.yml
|
||||
```
|
||||
|
||||
[varia.zone]: https://varia.zone/
|
||||
## Setup a New XPPL
|
||||
|
||||
```bash
|
||||
$ ansible-playbook --limit varia-zone --ask-become-pass plays/setup.yml
|
||||
```
|
||||
|
||||
## Deploy a New XPPL Version
|
||||
|
||||
```bash
|
||||
$ ansible-playbook --limit varia-zone --ask-become-pass plays/deploy.yml
|
||||
```
|
||||
|
@ -1,2 +1,2 @@
|
||||
[varia-zone]
|
||||
[managed]
|
||||
varia.zone ansible_ssh_port=12345
|
||||
|
20
ansible/plays/deploy.yml
Normal file
20
ansible/plays/deploy.yml
Normal file
@ -0,0 +1,20 @@
|
||||
---
|
||||
|
||||
- hosts: managed
|
||||
pre_tasks:
|
||||
- name: Shutdown the running XPPL for the deployment.
|
||||
become: true
|
||||
supervisorctl:
|
||||
name: 'xppl:'
|
||||
state: stopped
|
||||
roles:
|
||||
- role: git # Clone the project source
|
||||
- role: pipenv # Install Python dependencies
|
||||
- role: env # Configure the application environment
|
||||
- role: nginx # Setup the Nginx configuration
|
||||
post_tasks:
|
||||
- name: Start back up the XPPL after the deployment.
|
||||
become: true
|
||||
supervisorctl:
|
||||
name: 'xppl:'
|
||||
state: stopped
|
@ -1,11 +1,11 @@
|
||||
---
|
||||
|
||||
- hosts: varia-zone
|
||||
- hosts: managed
|
||||
roles:
|
||||
- role: perms # Setup users and groups
|
||||
- role: git # Clone the project source
|
||||
- role: pipenv # Install Python dependencies
|
||||
- role: env # Configure application environment
|
||||
- role: env # Configure the application environment
|
||||
- role: rqlite # Install RQLite
|
||||
- role: supervisor # Setup managed processes
|
||||
- role: nginx # Setup Nginx configuration
|
||||
- role: nginx # Setup the Nginx configuration
|
Loading…
Reference in New Issue
Block a user