我想安装最新的版本,但不想安装 HEAD。相反,我想安装最新的版本标签远程存储库——假设维护者认为这是“发布”。git
模块能做到这一点吗?
提供了找出最新标签的方法这里但它们都要求clone
发生第一的。
有没有办法让模块自动为我完成“必要的操作”,还是我必须用困难的方式来做:
- 使用 -module 进行克隆
git
。 - 使用 -module 查找最新标签
command
。 - 使用另一个
git
任务切换到标签?
答案1
不。Ansible git 模块需要一个提交作为版本参数。一个标签、一个分支、一个提交哈希或 HEAD。
您将如何对标签、提交日期、引用名称进行排序?实际上可能并不简单。作者可以在一个存储库中维护多个分支。以前的版本反向移植可能会在稍后提交。此外,版本“编号”字符串很难正确排序,git tag --sort=refname
可能会以不理想的方式排序:
v2.8.2
v2.8.20
v2.8.20rc1
v2.8.3
暂时忘掉 git,它不是最好的部署工具。使用具有版本号和依赖项解析的包管理器安装版本。如果不存在包,请自己编写一个,也许可以遵循您选择的操作系统发行版的指南。
无论如何,要继续使用 git,请为 git 模块提供一个提交方式,它将解析为您想要的最新稳定版本。例如维护分支。如果不存在这样的分支,请在您想要的标签上创建它。随着新版本的发布,请继续更新此分支。