Ansible git-module 可以从 repo 安装最新标签吗?

Ansible git-module 可以从 repo 安装最新标签吗?

我想安装最新的版本,但不想安装 HEAD。相反,我想安装最新的版本标签远程存储库——假设维护者认为这是“发布”。git模块能做到这一点吗?

提供了找出最新标签的方法这里但它们都要求clone发生第一的

有没有办法让模块自动为我完成“必要的操作”,还是我必须用困难的方式来做:

  1. 使用 -module 进行克隆git
  2. 使用 -module 查找最新标签command
  3. 使用另一个git任务切换到标签?

答案1

不。Ansible git 模块需要一个提交作为版本参数。一个标签、一个分支、一个提交哈希或 HEAD。

您将如何对标签、提交日期、引用名称进行排序?实际上可能并不简单。作者可以在一个存储库中维护多个分支。以前的版本反向移植可能会在稍后提交。此外,版本“编号”字符串很难正确排序,git tag --sort=refname可能会以不理想的方式排序:

v2.8.2
v2.8.20
v2.8.20rc1
v2.8.3

暂时忘掉 git,它不是最好的部署工具。使用具有版本号和依赖项解析的包管理器安装版本。如果不存在包,请自己编写一个,也许可以遵循您选择的操作系统发行版的指南。

无论如何,要继续使用 git,请为 git 模块提供一个提交方式,它将解析为您想要的最新稳定版本。例如维护分支。如果不存在这样的分支,请在您想要的标签上创建它。随着新版本的发布,请继续更新此分支。

相关内容