在Linux中通过Ansible Galaxy共享自定义角色需将本地角色置于GitHub仓库根目录、设为public,并完善meta/main.yml等文件;登录Galaxy后导入仓库,后续通过Refresh同步更新并支持Git Tag版本管理。

要在 Linux 中通过 Ansible Galaxy 共享自定义角色,核心是将本地角色与 GitHub 仓库绑定,并通过 Galaxy 站点完成导入。整个过程不依赖手动上传,而是靠 Galaxy 自动拉取 GitHub 代码并索引。
准备 GitHub 仓库
Galaxy 只能从公开的 GitHub 仓库导入角色,因此必须满足以下条件:
- 角色目录需位于 GitHub 仓库根路径(不能嵌套在子文件夹中)
- 仓库必须为 public,且已通过 GitHub 账户登录 Ansible Galaxy
- 建议包含完整结构:tasks/main.yml、defaults/main.yml、meta/main.yml 和 README.md
- meta/main.yml 中应准确填写 author、description、license、min_ansible_version 和 platforms 字段,便于他人发现和使用
登录并关联 Galaxy 账户
访问 Ansible Galaxy 官网,点击右上角 Sign In,用 GitHub 账号授权登录。首次登录后,Galaxy 会自动同步你的 GitHub 组织和仓库列表。
Linux 安全审计工具,检查 SSH 配置、开放/监听端口、防火墙规则(ufw/iptables/nftables)、失败登录尝试、sudoers 权限...
在 Galaxy 上导入角色
登录后进入个人主页 → 点击 “My Roles” → 点击 “Import Role” 按钮:
- 选择对应 GitHub 用户名和仓库名(如 yourname/your-role-name)
- 确保 Branch 填写正确(默认 main 或 master)
- 点击 Import,Galaxy 会立即克隆仓库、校验结构、提取元数据
- 成功后角色会出现在你的角色列表中,并进入搜索索引,其他人可通过
ansible-galaxy install yourname.your_role_name安装
后续维护与版本管理
Galaxy 不托管代码,只做镜像索引。所有更新都需在 GitHub 提交后,再回到 Galaxy 页面点击对应角色右侧的 “Refresh” 按钮触发重新同步:
- 推荐使用 Git Tag 标记稳定版本(如 v1.0.0),Galaxy 支持按 tag 导入
- 修改 meta/main.yml 中的 version 字段可帮助用户识别兼容性变化
- 若更换仓库地址或重命名,需先在 Galaxy 删除旧角色,再重新导入新仓库










