main.yml 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. - name: Creates deploy directory
  2. become: true
  3. file:
  4. path: "/var/www/{{ inventory_hostname }}"
  5. state: directory
  6. owner: "{{ ansible_user }}"
  7. - name: Git checkout source code
  8. ansible.builtin.git:
  9. repo: 'https://github.com/iapt-platform/mint.git'
  10. dest: "{{ app_deploy_target }}"
  11. version: laravel
  12. - name: Setup storage folder
  13. become: true
  14. ansible.builtin.file:
  15. path: "{{ app_deploy_target }}/storage"
  16. state: directory
  17. recurse: true
  18. owner: www-data
  19. group: www-data
  20. - name: Install v2 php dependencies
  21. ansible.builtin.shell: "php{{ app_php_version }} {{ ansible_env.HOME }}/.local/bin/composer install"
  22. args:
  23. chdir: "{{ app_deploy_target }}"
  24. # - name: Install v2 nodejs dependencies
  25. # ansible.builtin.shell: npm install
  26. # args:
  27. # chdir: "{{ app_deploy_target }}"
  28. - name: Install v2 nodejs dependencies
  29. ansible.builtin.file:
  30. src: "/var/www/{{ inventory_hostname }}/node_modules/v2"
  31. dest: "{{ app_deploy_target }}/node_modules"
  32. state: link
  33. # TODO will remove in future
  34. - name: Install v1 php dependencies
  35. ansible.builtin.shell: "php{{ app_php_version }} {{ ansible_env.HOME }}/.local/bin/composer install"
  36. args:
  37. chdir: "{{ app_deploy_target }}/public"
  38. # TODO will remove in future
  39. # - name: Install v1 nodejs dependencies
  40. # ansible.builtin.shell: npm install
  41. # args:
  42. # chdir: "{{ app_deploy_target }}/public"
  43. - name: Install v1 nodejs dependencies
  44. ansible.builtin.file:
  45. src: "/var/www/{{ inventory_hostname }}/node_modules/v1"
  46. dest: "{{ app_deploy_target }}/public/node_modules"
  47. state: link
  48. # TODO will remove in future
  49. - name: Install v1 tmp
  50. ansible.builtin.file:
  51. src: "/var/www/{{ inventory_hostname }}/tmp"
  52. dest: "{{ app_deploy_target }}/public/tmp"
  53. state: link
  54. - name: .env(v2)
  55. become: true
  56. ansible.builtin.template:
  57. src: env-v2.j2
  58. dest: "{{ app_deploy_target }}/.env"
  59. owner: www-data
  60. group: www-data
  61. mode: '0400'
  62. # TODO will remove in future
  63. - name: config.php(v1)
  64. become: true
  65. ansible.builtin.template:
  66. src: config-v1.php.j2
  67. dest: "{{ app_deploy_target }}/public/app/config.php"
  68. owner: www-data
  69. group: www-data
  70. mode: '0400'
  71. # TODO will remove in future
  72. - name: config.js(v1)
  73. become: true
  74. ansible.builtin.template:
  75. src: config-v1.js.j2
  76. dest: "{{ app_deploy_target }}/public/app/config.js"
  77. owner: www-data
  78. group: www-data
  79. mode: '0400'
  80. - name: Create a current link
  81. ansible.builtin.file:
  82. src: "{{ app_deploy_target }}"
  83. dest: /var/www/{{ inventory_hostname }}/current
  84. state: link