Ansible 在 Ansible Galaxy 分享 Roles(下)
上一章「Ansible 在 Ansible Galaxy 分享 Roles(上)」,我们帮 Role 补充了 Galaxy 网站所需的资讯,接下来就是把它分享到 Galaxy 上了!

怎么上传 Roles 到 GitHub?
先前在「Ansible 怎么使用 Roles」一章曾提过,Galaxy 里的 Roles 其实是存在 GitHub 上的。
- 在 GitHub 建立一个 Repository (储存库) 1,官方建议使用
ansible-role-acme的格式进行命名。 把写好的 Roles 加入 Git 版本控制里。
$ git commit -a $ git push借由 Git 从本地 (Local) 把 Roles 上传至 GitHub。
- 若对 Git 和 GitHub 不熟,可参考冻仁先前写的 Git and Github basic with SourceTree 简报。
怎么在 Galaxy 汇入 Roles?
进入 Galaxy 网站,并点击右上角的 SIGN IN。

使用 GitHub OAuth 登入 Galaxy 网站。

进入 My Roles 页面,并点选左方按钮启用 Roles,完成后将显示 ✔。

当 Roles 太多时,可借由右方的搜寻框进行过滤。

启用 Role 后,点击右方的 Import Role 图示进行汇入。

汇入成功后将显示 Succeeded,点击 Succeeded 即可观看这次汇入的相关资讯。

我们可借由此页面检查 Meta Data (
meta/main.yml) 的设定是否有误。若想自定 Role name,可通过 Role Settings 进行更改。

以上,现在我们可以在 https://galaxy.ansible.com/chusiang/testlink/ 看到刚汇入的 Role,其中 chusiang为 username,testlink 为 role name,而完整名称则是 chusiang.testlink。
后话
写完复杂 Playbooks,我们只需再费点工夫就可以在 Galaxy 上与全世界分享了!
相关连结
1. 若不会在 GitHub 上建立 Repository,可参考 Create A Repo | GitHub 一文。 ↩