Ansible Galaxy的角色命名规则已经发生了变化
在Ansible Galaxy中,工作流程是将以”ansible-role_name”开头的仓库注册到Github,并将”role_name”(删除了”ansible-“)作为名称注册到Ansible Galaxy。
最近在Ansible Galaxy上重新注册了一个Role,但是看到这个命名规则被废止了感到困惑,所以我留下了这个备忘录。
请查阅相关资料
- 公式Ansible Galaxyドキュメント – Role Metadata
解决方案 (jiě jué àn)
根据参考资料中的文档顶部所述,“role_name”这个项目已经添加到meta/main.yml中。
尽管被归类为可选项,但我认为直接反映GitHub仓库名称有些不自然,并且传统命名规则已经设计得很好,所以事实上并不是必需的。
我重新编辑了meta/main.yml文件,并执行了”$ git commit -m ‘comment’ && git push”命令进行提交和推送。
galaxy_info:
role_name: foo
author: your name
在Github上,如果一个仓库以”ansible-“开头,那么很容易就能知道它与Ansible Galaxy有关,因此,即使这个规则被废除了,自愿遵守这个规则似乎也是个好主意。
【闲话休题】 推荐使用 Ansible Galaxy
如果有任何前提条件,即使如此,如果创建了能够在设置上进行通用更改、将变量和处理流程分离的Ansible角色,可以考虑将其添加到Ansible Galaxy中。
基本工作流程如下:
1. 通过”ansible-galaxy init <角色名称>”命令创建角色目录的模板文件夹。
2. 将文件放置在tasks/main.yml、defaults/main.yml等位置,创建角色。
3. 编辑README.md文件。
4. 编辑meta/main.yml文件。
5. 在Github上创建合适的目录,进行commit和push操作。
6. 使用Github登录Ansible Galaxy并进行关联添加。
如果不熟悉的话,写不惯README.md和meta/main.yml这些多余的文件可能会很麻烦,但是,只要写明约束条件等内容,可以根据之前自己创建的文件为基础,可以省略一些步骤。
我个人认为在Ansible Galaxy注册的角色本身并没有对幂等性进行充分考虑,所以很难直接使用。我自己也有注册那种角色。
无论如何,这都是宝贵的参考资料,即使不能直接使用。保留自己的成果是很重要的,无论是保留自己的工作记录,还是对社区的贡献。
希望你能够不担心被批评只是因为公开真实的燃料,而是专注于留下自己的足迹,积累实绩。