Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ---
- - 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
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement