This playbook is designed to deploy a Django application using Ansible. It sets up a Postgres database, Nginx, and Gunicorn on a Linux server.
Edit your variables in /deploy.yml
:
become_user: john_doe
port: 8000
port_devel: 8001
secret_key: "my-django-secret-key" # Replace with a secure key
db_user: "john_doe"
db_name: "testsite"
db_name_devel: "testsite-db"
db_pass: "q#JX6zy#AxbhEid$" # Replace with a secure password
app_name: "testsite"
app_name_devel: "testsite_devel"
proj_name: "{{ app_name }}"
app_user: "john_doe"
server_name: "testsite.com"
server_name_www: "www.testsite.com"
server_name_devel: "devel.testsite.com"
domain: testsite.com
domain_devel: devel.testsite.com
git_link: https://github.com/john_doe/project.git # Replace with your repository link
For getting good results I prefer doing each tag in following order:
ansible-playbook deploy.yml --tags postgres
ansible-playbook deploy.yml --tags app
ansible-playbook deploy.yml --tags gunicorn
ansible-playbook deploy.yml --tags nginx
For Pulling changes on github:
ansible-playbook deploy.yml --tags git_pull