update_pip_packages

Ansible роль update_pip_packages

Находит и обновляет пакеты pip.

GitHub Версия Ошибки Запросы на изменение Загрузки
github Версия Ошибки ЗапросыНаИзменение Ansible Роль

Пример плейбука

Этот пример взят из molecule/default/converge.yml и тестируется при каждом пуше, запросе на изменение и релизе.

---
- name: converge
  hosts: all
  become: true
  gather_facts: true

  pre_tasks:
    - name: Обновить кэш apt.
      apt: update_cache=yes cache_valid_time=600
      when: ansible_os_family == 'Debian'
      changed_when: false

    - name: Проверить, существует ли файл python3.11 EXTERNALLY-MANAGED
      ansible.builtin.stat:
        path: /usr/lib/python3.11/EXTERNALLY-MANAGED
      register: externally_managed_file_py311

    - name: Переименовать файл python3.11 EXTERNALLY-MANAGED, если он существует
      ansible.builtin.command:
        cmd: mv /usr/lib/python3.11/EXTERNALLY-MANAGED /usr/lib/python3.11/EXTERNALLY-MANAGED.old
      when: externally_managed_file_py311.stat.exists
      args:
        creates: /usr/lib/python3.11/EXTERNALLY-MANAGED.old

    - name: Проверить, существует ли файл python3.12 EXTERNALLY-MANAGED
      ansible.builtin.stat:
        path: /usr/lib/python3.12/EXTERNALLY-MANAGED
      register: externally_managed_file_py312

    - name: Переименовать файл python3.12 EXTERNALLY-MANAGED, если он существует
      ansible.builtin.command:
        cmd: mv /usr/lib/python3.12/EXTERNALLY-MANAGED /usr/lib/python3.12/EXTERNALLY-MANAGED.old
      when: externally_managed_file_py312.stat.exists
      args:
        creates: /usr/lib/python3.12/EXTERNALLY-MANAGED.old

  roles:
    - role: buluma.update_pip_packages
      update_pip_package_ignore:
        - libcomps
        - PyGObject
        - pygobject
        - pyxdg
        - resolvelib
        - dbus-python
        - setuptools

Машину нужно подготовить. В CI это делается с помощью molecule/default/prepare.yml:

---
- name: prepare
  hosts: all
  become: true
  gather_facts: false

  roles:
    - role: buluma.bootstrap
    - role: buluma.epel
    - role: buluma.buildtools
    - role: buluma.python_pip
      python_pip_modules:
        - name: ansible

Также смотрите полное объяснение и пример о том, как использовать эти роли.

Переменные роли

Значения по умолчанию для переменных установлены в defaults/main.yml:

---
# файл по умолчанию для update_pip_packages

# Список исполняемых файлов pip, которые будут использоваться для получения пакетов.
# Либо полный путь, либо только имя исполняемого файла.
# Эта роль "находит" установки pip и pip3, но если у вас есть конкретный
# исполняемый файл pip, вы можете добавить элементы в этот список.
update_pip_packages_clients: []

# Вы можете указать игнорировать список пакетов. Пакеты, указанные здесь, не будут обновляться.
# update_pip_package_ignore:
#   - some_pip_package

Требования

Состояние используемых ролей

Следующие роли используются для подготовки системы. Вы можете подготовить свою систему другим способом.

Требование GitHub Версия
buluma.bootstrap Ansible Molecule Версия
buluma.epel Ansible Molecule Версия
buluma.python_pip Ansible Molecule Версия
buluma.buildtools Ansible Molecule Версия

Контекст

Эта роль является частью многих совместимых ролей. Ознакомьтесь с документацией этих ролей для получения дополнительной информации.

Вот обзор связанных ролей:

зависимости

Совместимость

Эта роль была протестирована на этих образах контейнеров:

контейнер теги
Debian все
EL 8
Fedora все
opensuse все

Минимальная версия Ansible, требуемая для работы, - 2.12, тестирование проводилось для:

  • предыдущей версии.
  • текущей версии.
  • версии разработки.

Если вы столкнетесь с проблемами, пожалуйста, сообщите об этом в GitHub

История изменений

История роли

Лицензия

Apache-2.0

Информация об авторе

Shadow Walker

О проекте

Find and update pip packages.

Установить
ansible-galaxy install buluma/ansible-role-update_pip_packages
Лицензия
apache-2.0
Загрузки
5292
Владелец
DevOps Engineer