فهرست منبع

:truck: create mint v2.4

Jeremy Zheng 1 ماه پیش
والد
کامیت
9fada3446f
3فایلهای تغییر یافته به همراه134 افزوده شده و 120 حذف شده
  1. 0 1
      deploy/group_vars/all.yml
  2. 133 0
      deploy/mint-v2.3.yml
  3. 1 119
      deploy/mint.yml

+ 0 - 1
deploy/group_vars/all.yml

@@ -1,4 +1,3 @@
-ansible_user: "deploy"
 ansible_python_interpreter: /usr/bin/python3
 ansible_ssh_private_key_file: "{{ inventory_dir }}/.ssh/id_ed25519"
 

+ 133 - 0
deploy/mint-v2.3.yml

@@ -0,0 +1,133 @@
+- 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
+      

+ 1 - 119
deploy/mint.yml

@@ -7,127 +7,9 @@
       register: mint_release_file_status
 
 - name: Building release package
-  hosts: localhost
+  hosts: building
   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
-