2
0

laravel.yml 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  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
  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. - name: setup sqlite3 db for v1
  84. become: true
  85. ansible.builtin.file:
  86. src: /var/www/shared/appdata
  87. dest: "{{ app_deploy_root }}/htdocs/storage/app/data"
  88. state: link
  89. # https://laravel.com/docs/10.x/scheduling#running-the-scheduler
  90. - name: upload scheduler service
  91. become: true
  92. template:
  93. src: v2/scheduler.service.j2
  94. dest: /usr/lib/systemd/system/mint-{{ app_deploy_env }}-scheduler.service
  95. owner: root
  96. group: root
  97. mode: "0644"
  98. - name: upload scheduler timer
  99. become: true
  100. template:
  101. src: v2/scheduler.timer.j2
  102. dest: /usr/lib/systemd/system/mint-{{ app_deploy_env }}-scheduler.timer
  103. owner: root
  104. group: root
  105. mode: "0644"
  106. - import_tasks: queue-workers.yml
  107. - name: clone source code(agile)
  108. ansible.builtin.git:
  109. repo: "https://github.com/iapt-platform/mint.git"
  110. dest: "{{ app_deploy_root }}/agile"
  111. version: "agile"
  112. - import_tasks: morus.yml
  113. - import_tasks: lily.yml
  114. - import_tasks: tulip.yml