将您自己的 Role 发布到 Galaxy
与全世界共享自动化内容
将您自己的 Role 发布到 Galaxy 是 CoddyKit 上的免费 Ansible Academy 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Ansible Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Ansible Academy 课程共包含 4 节课。
回馈共享中心
当一个角色干净利落地解决了某个问题后,您可以分享它。向 Galaxy 发布后,任何人都能通过一条命令安装您的成果。
Galaxy 从 GitHub 读取内容
Galaxy 本身不托管代码,而是直接从您拥有的公开 GitHub 仓库导入角色。
一个仓库,一个角色
最简洁的设置是使用 ansible-galaxy init 提供的标准脚手架,将单个角色放在仓库根目录中。
ansible-galaxy init my_role必须提供 meta/main.yml
Galaxy 会从 meta/main.yml 读取元数据。导入前,请填写作者、清晰的描述、许可证以及支持的平台。
galaxy_info:
author: yourname
description: Configure nginx
license: MIT编写真正有用的 README
您的 README.md 是角色的首页。请说明它的功能,并列出它接受的每个变量,同时提供合理的示例。
连接您的 GitHub 账户
使用 GitHub 登录 galaxy.ansible.com。这样可以关联您的账户,让 Galaxy 查看并导入您的仓库。
导入仓库
在 Galaxy 控制面板中选择仓库并触发导入。随后 Galaxy 会读取元数据并发布角色。
从 CLI 导入
您也可以使用 API 令牌和 import 子命令,不通过网站完成导入,同时指定您的 GitHub 用户名和仓库。
ansible-galaxy role import yourname my_role标签变成版本
Galaxy 会将 Git 标签转换为角色版本。请推送类似 1.0.0 的标签,以便用户固定到特定的稳定版本。
git tag 1.0.0
git push --tags名称来自您的仓库
已发布角色的名称是 github_user.repo_name,其他人将在 requirements.yml 中以此名称引用它。
roles:
- name: yourname.my_role持续维护
发布意味着承担责任。请回应问题并推送包含修复的新标签,这样社区才能继续信任您的角色。
快速检查
回想一下 Galaxy 从哪里获取它所发布的代码。
回顾
为角色创建脚手架,填写 meta/main.yml 和 README,推送到 GitHub,然后导入 Galaxy。Git 标签会变成可安装的版本。🚀
常见问题解答
「将您自己的 Role 发布到 Galaxy」课时是免费的吗?
是的 — 「将您自己的 Role 发布到 Galaxy」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Ansible Academy 课程的其余内容,请升级到 CoddyKit PRO。 Ansible Academy 课程共包含 4 节课。
「将您自己的 Role 发布到 Galaxy」这节课中我会学到什么?
与全世界共享自动化内容 你通过在浏览器中直接运行的动手代码来练习 Ansible Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Ansible Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Ansible Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。
「将您自己的 Role 发布到 Galaxy」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Ansible Academy 课中编写并运行代码吗?
能。每节 Ansible Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- Galaxy 中的 Role 与 Collection
- 使用 requirements.yml 安装 Role
- 使用 FQCN:namespace.collection.module
- 将您自己的 Role 发布到 Galaxy