Ansible自动化测试与持续集成实践
1. Ansible的检查模式与语法检查
在使用 --check 模式时,为确保剧本成功完成,某些任务可能需要强制运行。例如,一个注册变量供后续任务使用的命令任务。可以通过设置 check_mode: no 来实现:
- name: A task that runs all the time, even in check mode.
command: mytask --option1 --option2
register: my_var
check_mode: no
若要获取更详细的更改信息,可添加 --diff 选项,Ansible 将逐行输出对服务器所做的更改。不过,如果检查模式会产生大量更改,该选项会输出大量内容,除非你想滚动查看大量文本,否则应谨慎使用。
还可以像使用 when 子句一样,为 check_mode 添加条件,不过大多数情况下可能只使用 yes 或 no 。
除了 Ansible 的 --syntax-check 和 --check 模式,你可能还对在剧本上运行 Ansible Lint 感兴趣。Ansible Lint 可用于检查是否存在弃用的语法或低效的任务结构,并且高度可配置,你可以设置检查规则以遵循你和团队选择的剧本标准
超级会员免费看
订阅专栏 解锁全文
70

被折叠的 条评论
为什么被折叠?



