laravel.yml 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. # https://laravel.com/docs/10.x/deployment
  2. - name: clone source code
  3. ansible.builtin.git:
  4. repo: "https://github.com/iapt-platform/mint.git"
  5. dest: "{{ app_deploy_root }}/htdocs"
  6. version: "laravel"
  7. - name: install nodejs packages for v2
  8. ansible.builtin.shell:
  9. cmd: yarnpkg install
  10. chdir: "{{ app_deploy_root }}/htdocs"
  11. - name: install nodejs packages for v1
  12. ansible.builtin.shell:
  13. cmd: yarnpkg install
  14. chdir: "{{ app_deploy_root }}/htdocs/public"
  15. - name: upload .env(v2)
  16. become: true
  17. template:
  18. src: v2/env.j2
  19. dest: "{{ app_deploy_root }}/htdocs/.env"
  20. owner: www-data
  21. group: www-data
  22. mode: "0444"
  23. - name: upload config.php(v1)
  24. become: true
  25. template:
  26. src: v1/config.php.j2
  27. dest: "{{ app_deploy_root }}/htdocs/public/app/config.php"
  28. owner: www-data
  29. group: www-data
  30. mode: "0444"
  31. - name: upload config.js(v1)
  32. become: true
  33. template:
  34. src: v1/config.js.j2
  35. dest: "{{ app_deploy_root }}/htdocs/public/app/config.js"
  36. owner: www-data
  37. group: www-data
  38. mode: "0444"
  39. - name: setup bootstrap folder
  40. become: true
  41. ansible.builtin.file:
  42. path: "{{ app_deploy_root }}/htdocs/bootstrap/cache"
  43. state: directory
  44. owner: www-data
  45. group: www-data
  46. recurse: yes
  47. - name: setup storage folder for v2
  48. become: true
  49. ansible.builtin.file:
  50. path: "{{ app_deploy_root }}/htdocs/storage"
  51. state: directory
  52. owner: www-data
  53. group: www-data
  54. recurse: yes
  55. - name: auto-loader optimization for v2
  56. ansible.builtin.shell:
  57. cmd: composer install --optimize-autoloader --no-dev
  58. chdir: "{{ app_deploy_root }}/htdocs"
  59. - name: auto-loader optimization for v1
  60. ansible.builtin.shell:
  61. cmd: composer install --optimize-autoloader --no-dev
  62. chdir: "{{ app_deploy_root }}/htdocs/public"
  63. - name: caching configuration
  64. become: true
  65. ansible.builtin.shell:
  66. cmd: su www-data -pc "php artisan config:cache"
  67. chdir: "{{ app_deploy_root }}/htdocs"
  68. - name: caching events
  69. become: true
  70. ansible.builtin.shell:
  71. cmd: su www-data -pc "php artisan event:cache"
  72. chdir: "{{ app_deploy_root }}/htdocs"
  73. - name: caching routes
  74. become: true
  75. ansible.builtin.shell:
  76. cmd: su www-data -pc "php artisan route:cache"
  77. chdir: "{{ app_deploy_root }}/htdocs"
  78. - name: caching views
  79. become: true
  80. ansible.builtin.shell:
  81. cmd: su www-data -pc "php artisan view:cache"
  82. chdir: "{{ app_deploy_root }}/htdocs"
  83. # https://laravel.com/docs/10.x/scheduling#running-the-scheduler
  84. - name: upload scheduler service
  85. become: true
  86. template:
  87. src: v2/scheduler.service.j2
  88. dest: /usr/lib/systemd/system/mint-{{ app_deploy_env }}-scheduler.service
  89. owner: root
  90. group: root
  91. mode: "0644"
  92. - name: upload scheduler timer
  93. become: true
  94. template:
  95. src: v2/scheduler.timer.j2
  96. dest: /usr/lib/systemd/system/mint-{{ app_deploy_env }}-scheduler.timer
  97. owner: root
  98. group: root
  99. mode: "0644"
  100. - name: upload {{ action }} worker service
  101. become: true
  102. template:
  103. src: v2/queue-worker.service.j2
  104. dest: /usr/lib/systemd/system/mint-{{ app_deploy_env }}-{{ action }}-worker.service
  105. owner: root
  106. group: root
  107. mode: "0644"
  108. vars:
  109. action: "discussion"
  110. - name: upload {{ action }} worker service
  111. become: true
  112. template:
  113. src: v2/queue-worker.service.j2
  114. dest: /usr/lib/systemd/system/mint-{{ app_deploy_env }}-{{ action }}-worker.service
  115. owner: root
  116. group: root
  117. mode: "0644"
  118. vars:
  119. action: "pr"
  120. - name: upload {{ action }} worker service
  121. become: true
  122. template:
  123. src: v2/queue-worker.service.j2
  124. dest: /usr/lib/systemd/system/mint-{{ app_deploy_env }}-{{ action }}-worker.service
  125. owner: root
  126. group: root
  127. mode: "0644"
  128. vars:
  129. action: "progress"
  130. - name: upload {{ action }} worker service
  131. become: true
  132. template:
  133. src: v2/queue-worker.service.j2
  134. dest: /usr/lib/systemd/system/mint-{{ app_deploy_env }}-{{ action }}-worker.service
  135. owner: root
  136. group: root
  137. mode: "0644"
  138. vars:
  139. action: "wbw.analyses"
  140. # - name: run db:migrate
  141. # run_once: true
  142. # become: true
  143. # ansible.builtin.shell:
  144. # cmd: su www-data -pc "php artisan migrate"
  145. # chdir: "{{ app_deploy_root }}/htdocs"
  146. - name: setup sqlite3 db for v1
  147. become: true
  148. ansible.builtin.file:
  149. src: /var/www/shared/appdata
  150. dest: "{{ app_deploy_root }}/htdocs/storage/app/data"
  151. state: link