Ansible:如何使用 Ansible 进行包的条件包安装

问题描述 投票:0回答:0

我正在尝试安装有条件的包,例如,如果安装了包 java-11-openjdk-headless-11.0.2.7-2.el8.x86_64,那么我的剧本应该安装包 java-1.8.0-openjdk-devel。 x86_64,否则进入下一个CI。

---
- hosts: node1
  become: yes
  tasks:
  - package:
      name: "java-1.8.0-openjdk-devel.x86_64"
      state: present
    when: package_facts["name"] == "java-11-openjdk-headless-11.0.2.7-2.el8.x86_64"

错误 以

package_facts
失败是未定义的。

然而,当我以临时方式运行 package_facts 时,它会运行“ansible all -m package_facts” 它显示了这样的值。

  "java-1.8.0-openjdk": [
                {
                    "arch": "x86_64",
                    "epoch": 1,
                    "name": "java-1.8.0-openjdk",
                    "release": "2.el8",
                    "source": "rpm",
                    "version": "1.8.0.201.b09"

我该如何解决?

所以我想安装特定版本的软件

linux ansible ansible-2.x
© www.soinside.com 2019 - 2024. All rights reserved.