| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- - name: Prepare the env
- hosts: localhost
- tasks:
- - name: Check if mint.tar.xz file exists
- ansible.builtin.stat:
- path: "{{ playbook_dir }}/tmp/{{ app_domain }}-{{ mint_version }}.tar.xz"
- register: mint_release_file_status
- - name: Building release package
- hosts: localhost
- roles:
- - role: mint-build-v2.3
- when: not mint_release_file_status.stat.exists
- vars:
- app_workspace: "{{ ansible_facts['env']['HOME'] }}/build/mint"
- - name: Upload and setup release package
- hosts:
- - laravel_web
- - laravel_task
- - laravel_scheduler
- - ai_translate
- - open_ai_server
- roles:
- - role: mint-v2.3
- - name: Setup laravel framework
- hosts:
- - laravel_web
- - laravel_task
- - laravel_scheduler
- tasks:
- - name: Setup api-v8
- ansible.builtin.command: docker run --rm -it -v /srv:/srv:z {{ app_php81_image }} {{ app_deploy_target }}/scripts/laravel.sh setup
- - name: Setup api-v12
- ansible.builtin.command: docker run --rm -it -v /srv:/srv:z {{ app_php84_image }} {{ app_deploy_target }}/scripts/laravel.sh setup
- - name: Start laravel scheduler
- hosts:
- - laravel_scheduler
- tasks:
- - name: Enable laravel scheduler timer(v8)
- become: true
- ansible.builtin.systemd_service:
- name: "{{ app_domain }}-laravel-scheduler-v8.timer"
- state: restarted
- enabled: true
- - name: Enable laravel scheduler timer(v12)
- become: true
- ansible.builtin.systemd_service:
- name: "{{ app_domain }}-laravel-scheduler-v12.timer"
- state: restarted
- enabled: true
- - name: Start laravel job
- hosts:
- - laravel_task
- tasks:
- - name: Enable laravel job service
- become: true
- ansible.builtin.systemd_service:
- name: "{{ app_domain }}-laravel-job-{{ item.name }}.service"
- state: restarted
- enabled: true
- with_items:
- - { name: "mq-discussion"}
- - { name: "mq-pr"}
- - { name: "mq-progress"}
- - { name: "mq-wbw.analyses"}
- - { name: "mq-export.pali.chapter"}
- - { name: "mq-export.article"}
-
- - name: Start ai-translate service
- hosts:
- - ai_translate
- tasks:
- - name: Enable ai-translate service
- become: true
- ansible.builtin.systemd_service:
- name: "{{ app_domain }}-ai-translate.service"
- state: restarted
- enabled: true
- - name: Start open-ai-server
- hosts:
- - open_ai_server
- tasks:
- - name: Enable open-ai-server service
- become: true
- ansible.builtin.systemd_service:
- name: "{{ app_domain }}-open-ai-server.service"
- state: restarted
- enabled: true
- - name: Setup nginx
- hosts:
- - nginx
- tasks:
- - name: Fix document root
- become: true
- ansible.builtin.lineinfile:
- path: /etc/nginx/sites-enabled/{{ app_domain }}.conf
- regexp: '^root '
- line: "root {{ app_deploy_target }}/api-v8/public;"
- - name: Fix {{ app_dashboard_v4_base_path }}
- become: true
- ansible.builtin.lineinfile:
- path: /etc/nginx/sites-enabled/{{ app_domain }}.conf
- search_string: 'dashboard-v4'
- line: "alias {{ app_deploy_target }}/dashboard-v4/;"
- - name: Fix {{ app_dashboard_v6_base_path }}
- become: true
- ansible.builtin.lineinfile:
- path: /etc/nginx/sites-enabled/{{ app_domain }}.conf
- search_string: 'dashboard-v6'
- line: "alias {{ app_deploy_target }}/dashboard-v6/;"
- - name: Create nginx logs folder
- become: true
- ansible.builtin.file:
- path: "{{ app_deploy_target | dirname }}/logs"
- state: directory
- owner: www-data
- mode: "0755"
- - name: Test nginx configuration
- become: true
- ansible.builtin.command: nginx -t
- - name: Restart nginx
- become: true
- ansible.builtin.systemd_service:
- name: nginx
- state: restarted
- enabled: true
-
|