yum – Manages packages with the yum package manager
yum_repository – Add or remove YUM repositories

安装或卸载多个软件包

Ansible - How to Install or Remove Multiple Packages

方法一、使用变量(推荐)

- name: ensure a list of packages installed
  yum:
    name: "{{ packages }}"
    state: installed
  vars:
    packages:
    - httpd
    - httpd-tools

方法二、使用循环

---
- hosts: docker-host

  tasks:
    - name: Remove old versions of Docker
      yum: pkg={{item}} state=absent
      with_items:
        - docker
        - docker-common
        - container-selinux
        - docker-selinux
        - docker-engine

添加软件仓库(.repo)

Importing/adding a yum .repo file using Ansible

在某些软件,比如 Docker 服务,官方直接提供 .repo 仓库文件。此时无法使用 yum_repository 模块,只能使用命令进行添加:

- name: "添加 REPO 仓库"
  shell: yum-config-manager --add-repo http://example.com/path/to/foo.repo

当然,如果没有其他设置,本质上还是复制 .repo 文件,因此也可以采用其他方法。