2
0

main.yml 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. - name: Create /srv/bin folder
  2. become: true
  3. ansible.builtin.file:
  4. path: /srv/bin
  5. state: directory
  6. owner: "{{ ansible_user }}"
  7. mode: "0755"
  8. - name: Create workspace folder
  9. become: true
  10. ansible.builtin.file:
  11. path: "{{ app_deploy_target | dirname }}"
  12. state: directory
  13. owner: "{{ ansible_user }}"
  14. mode: "0755"
  15. - name: Create scripts folder
  16. ansible.builtin.file:
  17. path: "{{ app_deploy_target }}/scripts"
  18. state: directory
  19. mode: "0755"
  20. - name: Extract release
  21. ansible.builtin.unarchive:
  22. src: "{{ playbook_dir }}/tmp/{{ app_domain }}-{{ mint_version }}.tar.xz"
  23. dest: "{{ app_deploy_target }}"
  24. creates: "{{ app_deploy_target }}/api-v12"
  25. - name: Pull php v8.1 image
  26. ansible.builtin.shell: docker pull {{ app_php81_image }}
  27. - name: Pull php v8.4 image
  28. ansible.builtin.shell: docker pull {{ app_php84_image }}
  29. - name: Pull python image
  30. ansible.builtin.shell: docker pull {{ app_python_image }}
  31. - name: Pull nodejs image
  32. ansible.builtin.shell: docker pull {{ app_nodejs_image }}
  33. - name: Upload clean.py
  34. ansible.builtin.copy:
  35. src: clean.py
  36. dest: "{{ app_deploy_target | dirname }}/"
  37. mode: '0444'
  38. - name: Upload run.sh
  39. ansible.builtin.copy:
  40. src: run.sh
  41. dest: "{{ app_deploy_target }}/"
  42. mode: '0555'
  43. - name: Upload php-fpm.sh
  44. ansible.builtin.copy:
  45. src: php-fpm.sh
  46. dest: "/srv/bin/"
  47. mode: '0555'
  48. - name: Upload clean.service
  49. become: true
  50. ansible.builtin.template:
  51. src: clean.service.j2
  52. dest: "/etc/systemd/system/{{ app_domain }}-clean.service"
  53. mode: "0444"
  54. - name: Upload timer.service
  55. become: true
  56. ansible.builtin.template:
  57. src: clean.timer.j2
  58. dest: "/etc/systemd/system/{{ app_domain }}-clean.timer"
  59. mode: "0444"
  60. - name: Upload php-fpm-v8.1.service
  61. become: true
  62. ansible.builtin.template:
  63. src: php-fpm-8.1.service.j2
  64. dest: "/etc/systemd/system/php-fpm-8.1.service"
  65. mode: "0444"
  66. - name: Upload php-fpm-8.4.service
  67. become: true
  68. ansible.builtin.template:
  69. src: php-fpm-8.4.service.j2
  70. dest: "/etc/systemd/system/php-fpm-8.4.service"
  71. mode: "0444"
  72. - name: Upload open-ai-server.sh
  73. ansible.builtin.template:
  74. src: open-ai-server.sh.j2
  75. dest: "{{ app_deploy_target }}/scripts/open-ai-server.sh"
  76. mode: "0555"
  77. - name: Upload open-ai-server.service
  78. become: true
  79. ansible.builtin.template:
  80. src: open-ai-server.service.j2
  81. dest: "/etc/systemd/system/{{ app_domain }}-open-ai-server.service"
  82. mode: "0444"
  83. - name: Upload laravel-job.sh
  84. ansible.builtin.template:
  85. src: laravel-job.sh.j2
  86. dest: "{{ app_deploy_target }}/scripts/laravel-job.sh"
  87. mode: "0555"
  88. - name: Upload laravel-worker.service
  89. become: true
  90. ansible.builtin.template:
  91. src: laravel-job.service.j2
  92. dest: "/etc/systemd/system/{{ app_domain }}-laravel-job-{{ item.name }}.service"
  93. mode: "0444"
  94. with_items:
  95. - { name: "mq-discussion", image: "{{ app_php81_image }}"}
  96. - { name: "mq-pr", image: "{{ app_php81_image }}"}
  97. - { name: "mq-progress", image: "{{ app_php81_image }}"}
  98. - { name: "mq-wbw.analyses", image: "{{ app_php81_image }}"}
  99. - name: Reload systemd profiles
  100. become: true
  101. ansible.builtin.shell: systemctl daemon-reload
  102. - name: Enable clean timer
  103. become: true
  104. ansible.builtin.systemd_service:
  105. name: "{{ app_domain }}-clean.timer"
  106. state: started
  107. enabled: true