Created
February 14, 2016 18:59
-
-
Save greenhat/29f9452f2bd2d2ce0a15 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
- hosts: app_servers | |
user: "{{deploy_user}}" | |
tasks: | |
- name: Ensure vendor path exists | |
file: path="{{vendor_path}}" owner="{{deploy_user}}" group="{{deploy_user}}" state=directory | |
sudo: yes | |
notify: restart uwsgi | |
- name: Upload the SSH key | |
copy: src=~/.ssh/id_rsa dest=/tmp/id_rsa_deployment mode=600 | |
- name: Configure GIT_SSH script file | |
copy: dest=/tmp/git_ssh.sh mode=700 | |
content='exec /usr/bin/ssh -o StrictHostKeyChecking=no -i /tmp/id_rsa_deployment "$@"' | |
- name: Backup PostgreSQL DB data | |
shell: "python /usr/local/bin/psl_backup_postgresql.py" | |
sudo: yes | |
sudo_user: postgres | |
- name: Checkout app from git repo | |
git: repo="ssh://git@bitbucket.org/greenden/psl_server.git" dest="{{vendor_path}}" force=yes | |
update=yes version="{{branch_name_to_deploy}}" accept_hostkey=yes | |
environment: | |
GIT_SSH: /tmp/git_ssh.sh | |
notify: reload uwsgi | |
- name: Generate app settings file psl_settings.cfg | |
template: src=templates/psl_settings.cfg dest=/etc/psl_settings.cfg mode=0751 | |
owner=www-data group=www-data | |
sudo: yes | |
notify: reload uwsgi | |
- name: Ensure log path exists | |
file: path="{{vendor_path}}"/logs owner=www-data group=www-data state=directory | |
sudo: yes | |
- name: install PostgreSQL dev environment | |
apt: pkg=libpq-dev update_cache=yes state=present | |
sudo: yes | |
- name: clean pip build cache | |
command: "rm -rf /tmp/pip-build-root" | |
sudo: yes | |
- name: Install requirements via pip | |
pip: requirements="{{vendor_path}}"/requirements.txt | |
sudo: yes | |
notify: reload uwsgi | |
- name: create celery config for supervisord | |
template: src=templates/supervisor_celeryd.conf dest=/etc/supervisor/conf.d/celeryd.conf | |
sudo: yes | |
notify: reload supervisor | |
handlers: | |
- name: reload uwsgi | |
command: touch "{{vendor_path}}"/serv.py | |
sudo: yes | |
notify: | |
- post-deployment hook | |
- reload celery | |
- name: restart uwsgi | |
service: name=uwsgi state=restarted | |
sudo: yes | |
notify: | |
- post-deployment hook | |
- reload celery | |
- name: post-deployment hook | |
shell: "cd {{vendor_path}} && PSL_SERVER_SETTINGS='/etc/psl_settings.cfg' python -c 'import serv; serv.post_deployment_hook()'" | |
sudo: yes | |
sudo_user: www-data | |
- name: reload supervisor | |
shell: supervisorctl reread && supervisorctl update | |
sudo: yes | |
notify: reload celery | |
- name: reload celery | |
command: supervisorctl reload celery | |
sudo: yes |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment