使用ansible将Git包升级到最新版本

使用ansible将Git包升级到最新版本,git,ansible,Git,Ansible,我正在尝试使用ansible playbook在我的五个ubuntu-18.04系统上将git软件包升级到最新版本。我的翻译代码如下: --- -主机:gitservers 任务: -名称:更新APT软件包管理器存储库缓存 变成:真的 恰当的: 更新缓存:是 -名称:安装Git包 变成:真的 恰当的: 姓名:git 国家:最新 更新缓存:是 最后几行输出:- TASK [Install Git Package] *****************************************

我正在尝试使用ansible playbook在我的五个
ubuntu-18.04
系统上将git软件包升级到最新版本。我的翻译代码如下:

---
-主机:gitservers
任务:
-名称:更新APT软件包管理器存储库缓存
变成:真的
恰当的:
更新缓存:是
-名称:安装Git包
变成:真的
恰当的:
姓名:git
国家:最新
更新缓存:是
最后几行输出:-

TASK [Install Git Package] ******************************************************************************************************
ok: [50.51.52.24]
ok: [50.51.52.23]
ok: [50.51.52.22]
ok: [50.51.52.25]
changed: [50.51.52.21]

PLAY RECAP ***********************************************************************************************************************
50.51.52.21                : ok=3    changed=2    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0
50.51.52.22                : ok=3    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0
50.51.52.23                : ok=3    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0
50.51.52.24                : ok=3    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0
50.51.52.25                : ok=3    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0
它只在
50.51.52.21
上升级了git软件包,我可以看到下面给出的最新版本

# git --version
git version 2.31.1
但是,对于其他系统,仍然有较旧版本的git
(2.17.1)
。我不知道这是怎么回事。有人能给我一些解决这个问题的建议吗

使用以下命令在
50.51.52.22
系统上手动升级到
git版本2.31.1

add-apt-repository ppa:git-core/ppa -y
apt-get update
apt-get install git -y

Ansible在所有资源清册主机上执行相同的代码。您应该从
50.51.52.21
的不同之处开始。它可能有一个提供git的不同回购协议

验证是否使用
grep^/etc/apt/sources.list/etc/apt/sources.list.d/*|grep git
(在工作节点上)将列出所有已安装的存储库

添加一个任务来验证您的ubuntu服务器上是否安装了git存储库


这应该设置为第一个任务,然后运行apt更新并最终安装git任务。

从技术上讲,您的示例是正确的,您能否尝试在其中一台机器上手动执行,看看它是否有效?或者使用一个特别的命令,也许你也应该试试:很可能这不是Ansible的错。从命令行尝试。我猜配置的资源(repo)之间可能存在差异,或者git包已搁置
apt mark showhold
@ikora和@Vladimir Botka,我已更新了问题。现在,
apt mark showhold
不返回任何内容。在所有五个系统中,
/etc/apt/sources.list
文件都是相同的。即使是
强制apt\u get:yes
也帮不上忙。
添加apt存储库ppa:git core/ppa-y
>这不是在您的剧本中完成的,因此任务和命令不一样是有意义的。你应该看看:谢谢β.εηοιτ.βε&Chen,我在playbook中缺少了
添加apt存储库ppa:git core/ppa-y
,添加后我能够成功安装。再次非常感谢。
- apt_repository:
    repo: 'ppa:git-core/ppa'
    state: present