- 新增 Nezha Agent client_secret 更新 playbook(两种实现方案) - 建立三层文档架构:docs/(用户文档)、examples/(配置示例)、llmdoc/(技术文档) - 添加项目主 README.md 和配置示例文件 - 初始化 .gitignore 保护敏感信息
59 lines
1.2 KiB
Markdown
59 lines
1.2 KiB
Markdown
# Ansible 最佳实践指南
|
|
|
|
## 1. 参数管理
|
|
|
|
### 变量定义
|
|
1. **明确区分必填和可选参数**
|
|
2. **使用布尔开关控制功能**
|
|
3. **默认值设置要合理**
|
|
|
|
示例:
|
|
```yaml
|
|
vars:
|
|
# 必填参数
|
|
pool_url: ""
|
|
|
|
# 可选参数
|
|
enable_cc: true # 默认开启某些功能
|
|
```
|
|
|
|
## 2. 模块使用
|
|
|
|
### 推荐模块
|
|
- `ansible.builtin.set_fact`:动态构建参数
|
|
- `ansible.builtin.debug`:日志和调试
|
|
- `ansible.builtin.get_url`:文件下载
|
|
- `ansible.builtin.shell`:执行复杂命令
|
|
- `ansible.builtin.file`:文件管理
|
|
|
|
## 3. 命令构建
|
|
|
|
### 条件渲染技巧
|
|
1. 使用三元运算符动态生成命令
|
|
2. 根据布尔开关添加可选参数
|
|
|
|
```yaml
|
|
install_command: >-
|
|
bash script.sh
|
|
{{ '--optional-flag' if enable_feature else '' }}
|
|
```
|
|
|
|
## 4. 安全与权限
|
|
|
|
### 特权执行
|
|
- 始终使用 `become: yes`
|
|
- 谨慎管理 `sudo` 权限
|
|
|
|
## 5. 错误处理
|
|
|
|
### 日志与调试
|
|
1. 使用 `register` 捕获命令输出
|
|
2. 通过 `debug` 模块记录执行过程
|
|
3. 考虑添加更详细的错误处理机制
|
|
|
|
## 6. 性能与维护
|
|
|
|
### 代码组织
|
|
- 保持 Playbook 模块化
|
|
- 减少重复代码
|
|
- 添加充分的注释说明 |