update_pip_packages
Ansible роль update_pip_packages
Находит и обновляет пакеты pip.
GitHub | Версия | Ошибки | Запросы на изменение | Загрузки |
---|---|---|---|---|
Пример плейбука
Этот пример взят из 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
Требования
- пакеты pip, перечисленные в requirements.txt.
Состояние используемых ролей
Следующие роли используются для подготовки системы. Вы можете подготовить свою систему другим способом.
Требование | GitHub | Версия |
---|---|---|
buluma.bootstrap | ||
buluma.epel | ||
buluma.python_pip | ||
buluma.buildtools |
Контекст
Эта роль является частью многих совместимых ролей. Ознакомьтесь с документацией этих ролей для получения дополнительной информации.
Вот обзор связанных ролей:
Совместимость
Эта роль была протестирована на этих образах контейнеров:
контейнер | теги |
---|---|
Debian | все |
EL | 8 |
Fedora | все |
opensuse | все |
Минимальная версия Ansible, требуемая для работы, - 2.12, тестирование проводилось для:
- предыдущей версии.
- текущей версии.
- версии разработки.
Если вы столкнетесь с проблемами, пожалуйста, сообщите об этом в GitHub
История изменений
Лицензия
Информация об авторе
ansible-galaxy install buluma/ansible-role-update_pip_packages