mint.yml 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. - name: Prepare the env
  2. hosts: localhost
  3. tasks:
  4. - name: Check if mint.tar.xz file exists
  5. ansible.builtin.stat:
  6. path: "{{ playbook_dir }}/tmp/{{ app_domain }}-{{ mint_version }}.tar.xz"
  7. register: mint_release_file_status
  8. - name: Building release package
  9. hosts: localhost
  10. roles:
  11. - role: mint-build-v2.3
  12. when: not mint_release_file_status.stat.exists
  13. vars:
  14. app_workspace: "{{ ansible_facts['env']['HOME'] }}/build/mint"
  15. - name: Upload and setup release package
  16. hosts:
  17. - laravel_web
  18. - laravel_tasks
  19. - laravel_scheduler
  20. - ai_translate
  21. - open_ai_server
  22. roles:
  23. - role: mint-v2.3
  24. - name: Setup laravel framework
  25. hosts:
  26. - laravel_web
  27. - laravel_tasks
  28. - laravel_scheduler
  29. tasks:
  30. - name: Setup api-v8
  31. ansible.builtin.command: docker run --rm -it -v /srv:/srv:z {{ app_php81_image }} {{ app_deploy_target }}/scripts/laravel.sh setup
  32. - name: Setup api-v12
  33. ansible.builtin.command: docker run --rm -it -v /srv:/srv:z {{ app_php84_image }} {{ app_deploy_target }}/scripts/laravel.sh setup
  34. - name: Start laravel scheduler
  35. hosts:
  36. - laravel_scheduler
  37. tasks:
  38. - name: Enable systemd service(v8)
  39. become: true
  40. ansible.builtin.systemd_service:
  41. name: "{{ app_domain }}-laravel-scheduler-v8.service"
  42. state: restarted
  43. enabled: true
  44. - name: Enable systemd service(v12)
  45. become: true
  46. ansible.builtin.systemd_service:
  47. name: "{{ app_domain }}-laravel-scheduler-v12.service"
  48. state: restarted
  49. enabled: true
  50. - name: Start laravel job
  51. hosts:
  52. - laravel_task
  53. tasks:
  54. - name: Enable systemd service
  55. become: true
  56. ansible.builtin.systemd_service:
  57. name: "{{ app_domain }}-laravel-job-{{ item }}.service"
  58. state: restarted
  59. enabled: true
  60. with_items:
  61. - { name: "mq-discussion"}
  62. - { name: "mq-pr"}
  63. - { name: "mq-progress"}
  64. - { name: "mq-wbw.analyses"}
  65. - { name: "mq-export.pali.chapter"}
  66. - { name: "mq-export.article"}
  67. - name: Start ai-translate service
  68. hosts:
  69. - ai_translate
  70. tasks:
  71. - name: Enable systemd service
  72. become: true
  73. ansible.builtin.systemd_service:
  74. name: "{{ app_domain }}-ai-translate.service"
  75. state: restarted
  76. enabled: true
  77. - name: Start open-ai-server
  78. hosts:
  79. - open_ai_server
  80. tasks:
  81. - name: Enable systemd service
  82. become: true
  83. ansible.builtin.systemd_service:
  84. name: "{{ app_domain }}-open-ai-server.service"
  85. state: restarted
  86. enabled: true
  87. - name: Setup nginx
  88. hosts:
  89. - nginx
  90. tasks:
  91. - name: Test nginx configuration
  92. become: true
  93. ansible.builtin.command: nginx -t
  94. - name: Restart nginx
  95. become: true
  96. ansible.builtin.systemd_service:
  97. name: nginx
  98. state: restarted
  99. enabled: true