Advertisement
Guest User

Untitled

a guest
Feb 14th, 2016
45
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.56 KB | None | 0 0
  1. ---
  2. - hosts: app_servers
  3. user: "{{deploy_user}}"
  4.  
  5. tasks:
  6. - name: Ensure vendor path exists
  7. file: path="{{vendor_path}}" owner="{{deploy_user}}" group="{{deploy_user}}" state=directory
  8. sudo: yes
  9. notify: restart uwsgi
  10.  
  11. - name: Upload the SSH key
  12. copy: src=~/.ssh/id_rsa dest=/tmp/id_rsa_deployment mode=600
  13.  
  14. - name: Configure GIT_SSH script file
  15. copy: dest=/tmp/git_ssh.sh mode=700
  16. content='exec /usr/bin/ssh -o StrictHostKeyChecking=no -i /tmp/id_rsa_deployment "$@"'
  17.  
  18. - name: Backup PostgreSQL DB data
  19. shell: "python /usr/local/bin/psl_backup_postgresql.py"
  20. sudo: yes
  21. sudo_user: postgres
  22.  
  23. - name: Checkout app from git repo
  24. git: repo="ssh://git@bitbucket.org/greenden/psl_server.git" dest="{{vendor_path}}" force=yes
  25. update=yes version="{{branch_name_to_deploy}}" accept_hostkey=yes
  26. environment:
  27. GIT_SSH: /tmp/git_ssh.sh
  28. notify: reload uwsgi
  29.  
  30. - name: Generate app settings file psl_settings.cfg
  31. template: src=templates/psl_settings.cfg dest=/etc/psl_settings.cfg mode=0751
  32. owner=www-data group=www-data
  33. sudo: yes
  34. notify: reload uwsgi
  35.  
  36. - name: Ensure log path exists
  37. file: path="{{vendor_path}}"/logs owner=www-data group=www-data state=directory
  38. sudo: yes
  39.  
  40. - name: install PostgreSQL dev environment
  41. apt: pkg=libpq-dev update_cache=yes state=present
  42. sudo: yes
  43.  
  44. - name: clean pip build cache
  45. command: "rm -rf /tmp/pip-build-root"
  46. sudo: yes
  47.  
  48. - name: Install requirements via pip
  49. pip: requirements="{{vendor_path}}"/requirements.txt
  50. sudo: yes
  51. notify: reload uwsgi
  52.  
  53. - name: create celery config for supervisord
  54. template: src=templates/supervisor_celeryd.conf dest=/etc/supervisor/conf.d/celeryd.conf
  55. sudo: yes
  56. notify: reload supervisor
  57.  
  58.  
  59. handlers:
  60. - name: reload uwsgi
  61. command: touch "{{vendor_path}}"/serv.py
  62. sudo: yes
  63. notify:
  64. - post-deployment hook
  65. - reload celery
  66.  
  67. - name: restart uwsgi
  68. service: name=uwsgi state=restarted
  69. sudo: yes
  70. notify:
  71. - post-deployment hook
  72. - reload celery
  73.  
  74. - name: post-deployment hook
  75. shell: "cd {{vendor_path}} && PSL_SERVER_SETTINGS='/etc/psl_settings.cfg' python -c 'import serv; serv.post_deployment_hook()'"
  76. sudo: yes
  77. sudo_user: www-data
  78.  
  79. - name: reload supervisor
  80. shell: supervisorctl reread && supervisorctl update
  81. sudo: yes
  82. notify: reload celery
  83.  
  84. - name: reload celery
  85. command: supervisorctl reload celery
  86. sudo: yes
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement