SuperAPI AI 工具集

ansible-role-design

设计与创作

查看项目

更新于 10-15 20:05

技能介绍

用途:为编写生产级 Ansible 角色提供结构规范,内容源自对 7 个 geerlingguy 角色的分析,覆盖目录布局、变量组织、handlers 与任务组织。

主要能力:给出标准目录结构(defaults、vars、tasks、handlers、templates、files、meta、README),说明各目录用途与优先级,并指出可按需省略目录(如无服务管理可省略 handlers)。任务组织上建议 tasks/main.yml 作为路由文件,用 include_tasks 引入 install.yml、configure.yml、users.yml 等;按行数决定是否拆分(<30 行保留,30-100 行考虑拆分,>100 行必须拆分)。变量方面区分 defaults/main.yml(用户可覆盖,优先级最低)与 vars/(内部或按 OS 区分,优先级高),建议变量以角色名作前缀,并用 include_vars 加载 OS 特定变量。handlers 采用小写“动作+服务”命名,集群场景可用 throttle: 1 逐个重启。模板路径可暴露为变量供覆盖;meta/main.yml 记录 Galaxy 信息与依赖;关键配置文件可用 validate 校验。

使用方式:按上述目录与命名约定组织角色文件,在 tasks/main.yml 中路由任务,在 defaults 中暴露可配置项,在 vars 中放置内部值。

适用场景:编写或重构 Ansible 角色、统一团队角色结构、按复杂度(最小/标准/复杂)规划目录与任务文件数量。

限制:资料未提供具体安装命令、收费信息或运行环境要求;示例代码仅为模式说明,实际使用需结合自身环境调整。