From 31da18eca6c8ed8ec6ab40e05a9e5fa21ca326e4 Mon Sep 17 00:00:00 2001 From: Wang Defa Date: Wed, 10 Jun 2026 15:11:26 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4=20XXXigCC=20=E5=AE=89?= =?UTF-8?q?=E8=A3=85=E3=80=81=E5=8D=B8=E8=BD=BD=E3=80=81=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E5=92=8C=20Pool=20URL=20=E6=9B=B4=E6=96=B0=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- xxxigcc_install.yaml | 60 --------------- xxxigcc_uninstall.yaml | 30 -------- xxxigcc_update.yaml | 72 ------------------ xxxigcc_update_pool_url.yaml | 141 ----------------------------------- 4 files changed, 303 deletions(-) delete mode 100644 xxxigcc_install.yaml delete mode 100644 xxxigcc_uninstall.yaml delete mode 100644 xxxigcc_update.yaml delete mode 100644 xxxigcc_update_pool_url.yaml diff --git a/xxxigcc_install.yaml b/xxxigcc_install.yaml deleted file mode 100644 index 752f9a4..0000000 --- a/xxxigcc_install.yaml +++ /dev/null @@ -1,60 +0,0 @@ ---- -- name: XXXigCC 安装脚本 - hosts: all - become: yes - - vars: - # 必填参数 - pool_url: "" - cc_url: "" - cc_token: "" - - # 可选参数(布尔值) - enable_cc: true - enable_tls: true - enable_cc_tls: true - enable_keepalive: true - enable_1gb_pages: true - - # 脚本URL - install_script_url: "https://gitea.bcde.io/wangdefa/xxxigcc/raw/branch/main/script/install.deb.sh" - - tasks: - - name: 构建安装命令参数 - ansible.builtin.set_fact: - install_command: >- - bash /tmp/install.deb.sh - -o '{{ pool_url }}' - {{ '--keepalive' if enable_keepalive else '' }} - {{ '--1gb-pages' if enable_1gb_pages else '' }} - {{ '--tls' if enable_tls else '' }} - {{ '--cc' if enable_cc else '' }} - {{ '--cc-url ' + cc_url if enable_cc else '' }} - {{ '--cc-token ' + cc_token if enable_cc else '' }} - {{ '--cc-tls' if enable_cc and enable_cc_tls else '' }} - - - name: 显示将要执行的命令 - ansible.builtin.debug: - msg: "{{ install_command }}" - - - name: 下载安装脚本 - ansible.builtin.get_url: - url: "{{ install_script_url }}" - dest: /tmp/install.deb.sh - mode: '0755' - force: yes - - - name: 执行安装脚本 - ansible.builtin.shell: "{{ install_command }}" - args: - executable: /bin/bash - register: install_output - - - name: 显示安装结果 - ansible.builtin.debug: - var: install_output.stdout_lines - - - name: 清理临时脚本 - ansible.builtin.file: - path: /tmp/install.deb.sh - state: absent diff --git a/xxxigcc_uninstall.yaml b/xxxigcc_uninstall.yaml deleted file mode 100644 index 90468ab..0000000 --- a/xxxigcc_uninstall.yaml +++ /dev/null @@ -1,30 +0,0 @@ ---- -- name: XXXigCC 卸载脚本 - hosts: all - become: yes - - tasks: - - name: 下载卸载脚本 - ansible.builtin.get_url: - url: https://gitea.bcde.io/wangdefa/xxxigcc/raw/branch/main/script/uninstall.sh - dest: /tmp/uninstall.sh - mode: '0755' - force: yes - validate_certs: yes - register: download_result - - - name: 执行卸载脚本 - ansible.builtin.shell: /tmp/uninstall.sh -y --purge - args: - executable: /bin/bash - register: script_output - changed_when: true - - - name: 显示脚本执行结果 - ansible.builtin.debug: - var: script_output.stdout_lines - - - name: 清理临时脚本文件 - ansible.builtin.file: - path: /tmp/uninstall.sh - state: absent \ No newline at end of file diff --git a/xxxigcc_update.yaml b/xxxigcc_update.yaml deleted file mode 100644 index ec52ea8..0000000 --- a/xxxigcc_update.yaml +++ /dev/null @@ -1,72 +0,0 @@ ---- -- name: XXXigCC 更新和服务启动脚本 - hosts: all - become: yes - - vars: - # 服务配置 - package_name: "xxxigcc" - service_name: "xxxigcc-daemon.service" - - tasks: - - name: 更新 APT 软件包缓存 - ansible.builtin.apt: - update_cache: yes - register: apt_update - changed_when: apt_update.cache_updated - - - name: 显示 APT 缓存更新结果 - ansible.builtin.debug: - msg: "APT 软件包缓存已更新" - - - name: 安装或更新 xxxigcc 软件包 - ansible.builtin.apt: - name: "{{ package_name }}" - state: latest - register: package_install - - - name: 显示软件包安装结果 - ansible.builtin.debug: - msg: "{{ package_name }} 软件包已{{ '更新' if package_install.changed else '确认为最新版本' }}" - - - name: 启用 xxxigcc-daemon 服务开机自启 - ansible.builtin.systemd: - name: "{{ service_name }}" - enabled: yes - register: service_enabled - - - name: 显示服务启用结果 - ansible.builtin.debug: - msg: "{{ service_name }} 已设置为开机自启" - - - name: 启动 xxxigcc-daemon 服务 - ansible.builtin.systemd: - name: "{{ service_name }}" - state: started - register: service_started - - - name: 显示服务启动结果 - ansible.builtin.debug: - msg: "{{ service_name }} 已启动" - - - name: 验证服务运行状态 - ansible.builtin.systemd: - name: "{{ service_name }}" - register: service_status - - - name: 显示服务状态信息 - ansible.builtin.debug: - msg: | - 服务状态: - - 服务名称: {{ service_name }} - - 运行状态: {{ service_status.status.ActiveState }} - - 开机自启: {{ 'enabled' if service_enabled.enabled else 'disabled' }} - - - name: 显示操作总结 - ansible.builtin.debug: - msg: | - 操作完成总结: - - APT 缓存: 已更新 - - 软件包: {{ package_name }} {{ '(已更新)' if package_install.changed else '(已是最新)' }} - - 服务自启: {{ service_name }} (已启用) - - 服务状态: {{ service_name }} (已启动) diff --git a/xxxigcc_update_pool_url.yaml b/xxxigcc_update_pool_url.yaml deleted file mode 100644 index 35079f7..0000000 --- a/xxxigcc_update_pool_url.yaml +++ /dev/null @@ -1,141 +0,0 @@ ---- -- name: XXXigCC Pool URL 更新脚本 - hosts: all - become: yes - - vars: - # 必填参数 - new_url: "" - - # 可选参数 - old_url: "" - - # 配置文件路径 - config_file: "/etc/xxxigcc/config.json" - log_dir: "/var/log/xxxigcc" - service_name: "xxxigcc-daemon.service" - - tasks: - - name: 检查 new_url 参数是否提供 - ansible.builtin.fail: - msg: "参数 new_url 是必填项,请使用 -e new_url=your_url 提供" - when: new_url == "" - - - name: 确保 jq 工具已安装 - ansible.builtin.package: - name: jq - state: present - - - name: 检查配置文件是否存在 - ansible.builtin.stat: - path: "{{ config_file }}" - register: config_file_stat - - - name: 验证配置文件存在 - ansible.builtin.fail: - msg: "配置文件 {{ config_file }} 不存在" - when: not config_file_stat.stat.exists - - - name: 备份配置文件 - ansible.builtin.copy: - src: "{{ config_file }}" - dest: "{{ config_file }}.backup.{{ ansible_date_time.epoch }}" - remote_src: yes - mode: preserve - - - name: 获取当前的 pool URL - ansible.builtin.shell: | - jq -r '.pools[0].url' {{ config_file }} - register: current_url - changed_when: false - - - name: 显示当前 pool URL - ansible.builtin.debug: - msg: "当前 pool URL: {{ current_url.stdout }}" - - - name: 检查是否需要更新(提供了 old_url 参数时) - ansible.builtin.set_fact: - should_update: "{{ current_url.stdout == old_url }}" - when: old_url != "" - - - name: 检查是否需要更新(未提供 old_url 参数时) - ansible.builtin.set_fact: - should_update: true - when: old_url == "" - - - name: 显示更新决策 - ansible.builtin.debug: - msg: > - {% if old_url != "" %} - old_url 参数已提供: {{ old_url }},当前值: {{ current_url.stdout }}, - {% if should_update %}将执行更新{% else %}跳过更新(当前值与 old_url 不匹配){% endif %} - {% else %} - 未提供 old_url 参数,将无条件更新 - {% endif %} - - - name: 更新 pool URL - ansible.builtin.shell: | - jq '.pools[0].url = "{{ new_url }}"' {{ config_file }} > {{ config_file }}.tmp && \ - mv {{ config_file }}.tmp {{ config_file }} - when: should_update | bool - register: update_result - - - name: 显示更新后的 pool URL - ansible.builtin.shell: | - jq -r '.pools[0].url' {{ config_file }} - register: updated_url - changed_when: false - when: should_update | bool - - - name: 确认更新结果 - ansible.builtin.debug: - msg: "pool URL 已更新为: {{ updated_url.stdout }}" - when: should_update | bool - - - name: 检查日志目录是否存在 - ansible.builtin.stat: - path: "{{ log_dir }}" - register: log_dir_stat - - - name: 删除日志目录下的所有文件 - ansible.builtin.shell: | - rm -rf {{ log_dir }}/* - when: log_dir_stat.stat.exists and log_dir_stat.stat.isdir - register: log_cleanup - - - name: 显示日志清理结果 - ansible.builtin.debug: - msg: "日志目录 {{ log_dir }} 已清理" - when: log_dir_stat.stat.exists and log_dir_stat.stat.isdir - - - name: 重启 xxxigcc-daemon 服务 - ansible.builtin.systemd: - name: "{{ service_name }}" - state: restarted - when: should_update | bool - register: service_restart - - - name: 等待服务重启完成 - ansible.builtin.wait_for: - timeout: 5 - when: should_update | bool - - - name: 验证服务状态 - ansible.builtin.systemd: - name: "{{ service_name }}" - state: started - register: service_status - when: should_update | bool - - - name: 显示操作总结 - ansible.builtin.debug: - msg: | - 操作完成总结: - - 配置文件备份: {{ config_file }}.backup.{{ ansible_date_time.epoch }} - {% if should_update | bool %} - - Pool URL 已从 '{{ current_url.stdout }}' 更新为 '{{ new_url }}' - - 日志目录已清理: {{ log_dir }} - - 服务已重启: {{ service_name }} - {% else %} - - Pool URL 未更新(条件不满足) - {% endif %}