Remove outdated guides and references related to Ansible best practices, Gitea repository configuration, journald management, and XXXigCC deployment. Introduce a new playbook for reinstalling Nezha Agent, ensuring proper parameter validation and service management. Update documentation to reflect the latest practices and remove deprecated content.
This commit is contained in:
@@ -0,0 +1,98 @@
|
||||
---
|
||||
- name: 重装 Nezha Agent(卸载旧版本并安装新版本)
|
||||
hosts: all
|
||||
become: yes
|
||||
|
||||
vars:
|
||||
# Nezha 服务端地址(host:port)
|
||||
nz_server: "dash.miner.vvvo.net:443"
|
||||
|
||||
# 是否启用 TLS
|
||||
nz_tls: true
|
||||
|
||||
# 客户端密钥(必填,建议通过 -e 或 vars 文件传入,勿硬编码到仓库)
|
||||
nz_client_secret: ""
|
||||
|
||||
# 安装脚本 URL
|
||||
install_script_url: "https://raw.githubusercontent.com/wangdefaa/nezha-agent/refs/heads/main/script/install.sh"
|
||||
|
||||
# 服务与路径配置
|
||||
service_name: "nezha-agent.service"
|
||||
service_file: "/etc/systemd/system/nezha-agent.service"
|
||||
install_dir: "/opt/nezha"
|
||||
script_path: "/tmp/nezha-agent.sh"
|
||||
|
||||
tasks:
|
||||
# ---------- 参数校验 ----------
|
||||
- name: 验证必填参数
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- nz_client_secret | length > 0
|
||||
fail_msg: "参数 nz_client_secret 不能为空"
|
||||
success_msg: "参数验证通过"
|
||||
|
||||
# ---------- 卸载旧版本 ----------
|
||||
- name: 检查服务单元文件是否存在
|
||||
ansible.builtin.stat:
|
||||
path: "{{ service_file }}"
|
||||
register: service_file_stat
|
||||
|
||||
- name: 停止并禁用 Nezha Agent 服务
|
||||
ansible.builtin.systemd:
|
||||
name: "{{ service_name }}"
|
||||
state: stopped
|
||||
enabled: no
|
||||
when: service_file_stat.stat.exists
|
||||
|
||||
- name: 删除服务单元文件
|
||||
ansible.builtin.file:
|
||||
path: "{{ service_file }}"
|
||||
state: absent
|
||||
register: unit_removed
|
||||
|
||||
- name: 重新加载 systemd 配置
|
||||
ansible.builtin.systemd:
|
||||
daemon_reload: yes
|
||||
when: unit_removed.changed
|
||||
|
||||
- name: 删除安装目录
|
||||
ansible.builtin.file:
|
||||
path: "{{ install_dir }}"
|
||||
state: absent
|
||||
|
||||
# ---------- 安装新版本 ----------
|
||||
- name: 下载安装脚本
|
||||
ansible.builtin.get_url:
|
||||
url: "{{ install_script_url }}"
|
||||
dest: "{{ script_path }}"
|
||||
mode: '0755'
|
||||
force: yes
|
||||
|
||||
- name: 执行安装脚本
|
||||
ansible.builtin.shell: "bash {{ script_path }}"
|
||||
args:
|
||||
executable: /bin/bash
|
||||
environment:
|
||||
NZ_SERVER: "{{ nz_server }}"
|
||||
NZ_TLS: "{{ nz_tls | lower }}"
|
||||
NZ_CLIENT_SECRET: "{{ nz_client_secret }}"
|
||||
register: install_output
|
||||
|
||||
- name: 显示安装结果
|
||||
ansible.builtin.debug:
|
||||
var: install_output.stdout_lines
|
||||
|
||||
- name: 清理临时脚本
|
||||
ansible.builtin.file:
|
||||
path: "{{ script_path }}"
|
||||
state: absent
|
||||
|
||||
# ---------- 验证 ----------
|
||||
- name: 验证 Nezha Agent 服务状态
|
||||
ansible.builtin.systemd:
|
||||
name: "{{ service_name }}"
|
||||
register: service_status
|
||||
|
||||
- name: 显示服务状态
|
||||
ansible.builtin.debug:
|
||||
msg: "Nezha Agent 服务状态: {{ service_status.status.ActiveState }}"
|
||||
Reference in New Issue
Block a user