如何使用ansible-galaxy命令列出Ansible Galaxy角色的历史版本
原生ansible-galaxy命令没有内置查询远程角色所有历史版本的功能,info子命令默认仅返回最新版本的元数据,这是工具原生的设计限制。你可以用以下两种方法实现查询需求:
方法1:利用安装命令的错误提示(最简便)
故意在安装命令后附加一个不存在的版本标签,命令执行失败时会自动返回该角色所有可用的远程版本列表,不需要实际安装角色:
# 示例查询geerlingguy.ansible的所有版本 ansible-galaxy install geerlingguy.ansible,nonexistent_version
执行后报错信息中会明确列出所有可安装的历史版本号。
方法2:本地已安装角色版本查询
如果是已经下载到本地的角色,直接执行以下命令即可查看所有本地安装角色的对应版本:
ansible-galaxy role list
如果需要批量查询远程版本,也可以通过ansible-galaxy info返回的角色ID,调用Ansible Galaxy的公开版本查询接口获取全量版本信息,配合jq等JSON解析工具可以直接过滤出所需的版本号列表。
内容的提问来源于stack exchange,提问作者TennisandAliens
相关产品推荐
相关产品推荐

