在ansible中使用yum模块安装多个rpm版本

在ansible中使用yum模块安装多个rpm版本,ansible,yum,Ansible,Yum,我有我的应用程序的rpm。 我正在使用ansible在多个服务上部署和安装rpm。 如果rpm安装失败,我只想保留以前安装的rpm版本。例如,如果我安装了rpm v15,之后v18和v18失败,我希望保留v15并恢复v18安装的更改 使用rpm时,我可以使用以下命令轻松安装同一rpm的多个版本: rpm -ihv --oldpackage my-rpm-18.rpm 是否有办法在ansible中使用yum模块执行此操作?您可以尝试在块中安装最新版本,然后使用rescue在出现错误时返回所需版本

我有我的应用程序的rpm。 我正在使用ansible在多个服务上部署和安装rpm。 如果rpm安装失败,我只想保留以前安装的rpm版本。例如,如果我安装了rpm v15,之后v18和v18失败,我希望保留v15并恢复v18安装的更改

使用rpm时,我可以使用以下命令轻松安装同一rpm的多个版本:

rpm -ihv --oldpackage my-rpm-18.rpm

是否有办法在ansible中使用yum模块执行此操作?

您可以尝试在
块中安装最新版本
,然后使用
rescue
在出现错误时返回所需版本:

- block
    - yum:
        name: my-rpm
        state: latest
  rescue:
    - yum:
        name: my-rpm-18
        state: present

这是一个很好的解决方案,但还不够好。Yum删除以前的版本,我不想删除它。我想在任何时候安装我的rpm的两个版本。如果您的备用rpm总是相同的版本,并且您有足够的信心包不会失败,那么您就不能传递一个您想要安装的不同版本的列表吗<代码>名称:[my-rpm-15,my-rpm17]?我不想重新安装以前的版本,我想随时保留两个版本。。