添加 XXXig 安装、卸载和更新脚本,包含服务管理功能和详细调试信息

This commit is contained in:
2026-06-10 12:01:28 +08:00
parent ea3913dddf
commit b14ea85320
3 changed files with 162 additions and 0 deletions
+60
View File
@@ -0,0 +1,60 @@
---
- name: XXXig 安装脚本
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/xxxig/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
+30
View File
@@ -0,0 +1,30 @@
---
- name: XXXig 卸载脚本
hosts: all
become: yes
tasks:
- name: 下载卸载脚本
ansible.builtin.get_url:
url: https://gitea.bcde.io/wangdefa/xxxig/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
+72
View File
@@ -0,0 +1,72 @@
---
- name: XXXig 更新和服务启动脚本
hosts: all
become: yes
vars:
# 服务配置
package_name: "xxxig"
service_name: "xxxig-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: 安装或更新 xxxig 软件包
ansible.builtin.apt:
name: "{{ package_name }}"
state: latest
register: package_install
- name: 显示软件包安装结果
ansible.builtin.debug:
msg: "{{ package_name }} 软件包已{{ '更新' if package_install.changed else '确认为最新版本' }}"
- name: 启用 xxxig-daemon 服务开机自启
ansible.builtin.systemd:
name: "{{ service_name }}"
enabled: yes
register: service_enabled
- name: 显示服务启用结果
ansible.builtin.debug:
msg: "{{ service_name }} 已设置为开机自启"
- name: 启动 xxxig-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 }} (已启动)