laravel.yml 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. # https://laravel.com/docs/10.x/deployment
  2. - name: clone source code(laravel)
  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 for {{ ansible_user }}
  40. become: true
  41. ansible.builtin.file:
  42. path: "{{ app_deploy_root }}/htdocs/bootstrap/cache"
  43. state: directory
  44. owner: "{{ ansible_user }}"
  45. group: "{{ ansible_user }}"
  46. recurse: yes
  47. - name: auto-loader optimization for v2
  48. ansible.builtin.shell:
  49. cmd: composer update --optimize-autoloader --no-dev
  50. chdir: "{{ app_deploy_root }}/htdocs"
  51. - name: auto-loader optimization for v1
  52. ansible.builtin.shell:
  53. cmd: composer update --optimize-autoloader --no-dev
  54. chdir: "{{ app_deploy_root }}/htdocs/public"
  55. - name: setup bootstrap folder for php-fpm
  56. become: true
  57. ansible.builtin.file:
  58. path: "{{ app_deploy_root }}/htdocs/bootstrap/cache"
  59. state: directory
  60. owner: www-data
  61. group: www-data
  62. recurse: yes
  63. - name: setup storage folder for v2 for php-fpm
  64. become: true
  65. ansible.builtin.file:
  66. path: "{{ app_deploy_root }}/htdocs/storage"
  67. state: directory
  68. owner: www-data
  69. group: www-data
  70. recurse: yes
  71. - name: caching configuration
  72. become: true
  73. ansible.builtin.shell:
  74. cmd: su www-data -pc "php artisan config:cache"
  75. chdir: "{{ app_deploy_root }}/htdocs"
  76. - name: caching events
  77. become: true
  78. ansible.builtin.shell:
  79. cmd: su www-data -pc "php artisan event:cache"
  80. chdir: "{{ app_deploy_root }}/htdocs"
  81. - name: caching routes
  82. become: true
  83. ansible.builtin.shell:
  84. cmd: su www-data -pc "php artisan route:cache"
  85. chdir: "{{ app_deploy_root }}/htdocs"
  86. - name: caching views
  87. become: true
  88. ansible.builtin.shell:
  89. cmd: su www-data -pc "php artisan view:cache"
  90. chdir: "{{ app_deploy_root }}/htdocs"
  91. - name: setup sqlite3 db for v1
  92. become: true
  93. ansible.builtin.file:
  94. src: /var/www/shared/appdata
  95. dest: "{{ app_deploy_root }}/htdocs/storage/app/data"
  96. state: link
  97. # https://laravel.com/docs/10.x/scheduling#running-the-scheduler
  98. - name: upload scheduler service
  99. become: true
  100. template:
  101. src: v2/scheduler.service.j2
  102. dest: /usr/lib/systemd/system/mint-{{ app_deploy_env }}-scheduler.service
  103. owner: root
  104. group: root
  105. mode: "0644"
  106. - name: upload scheduler timer
  107. become: true
  108. template:
  109. src: v2/scheduler.timer.j2
  110. dest: /usr/lib/systemd/system/mint-{{ app_deploy_env }}-scheduler.timer
  111. owner: root
  112. group: root
  113. mode: "0644"
  114. - import_tasks: queue-workers.yml
  115. - name: clone source code(agile)
  116. ansible.builtin.git:
  117. repo: "https://github.com/iapt-platform/mint.git"
  118. dest: "{{ app_deploy_root }}/agile"
  119. version: "agile"
  120. # - import_tasks: morus.yml
  121. - import_tasks: lily.yml
  122. - import_tasks: tulip.yml