如何使用 Ansible 检查安装的版本

How to check which version of an installation exist with Ansible

我正在使用 Ansible 将 Jenkins 升级到特定版本。但在安装之前,我想检查现有的 jenkins 版本并在继续新安装或升级之前将其卸载。下面是相关代码。

- name: Uninstall Jenkins 
  yum:
    name: jenkins-2.107.2-1.1.noarch.rpm 
    state: absent 

我目前卸载版本的解决方案是 'hard code' 但这不是动态解决方案,因为版本可能因服务器而异。我如何动态检索 jenkins rpm 版本(如果存在)并随后使用 Ansible 将其卸载。

对于ansible,你描述了一个想要的状态,所以没有必要卸载。只需在您的剧本中使用或更新到最新版本的 jenkins:

- name: Install or Update Jenkins 
  yum:
    name: jenkins
    state: present

因此,如果您真的想卸载,请使用:

- name: Uninstall Jenkins 
  yum:
    name: jenkins
    state: absent