buluma.update_pip_packages

Rol de Ansible update_pip_packages

Buscar y actualizar paquetes de pip.

GitHub Versión Problemas Solicitudes de extracción Descargas
github Version Issues PullRequests Ansible Role

Ejemplo de Playbook

Este ejemplo se toma de molecule/default/converge.yml y se prueba en cada push, solicitud de extracción y lanzamiento.

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

  pre_tasks:
    - name: Actualizar caché de apt.
      apt: update_cache=yes cache_valid_time=600
      when: ansible_os_family == 'Debian'
      changed_when: false

    - name: Verificar si existe el archivo EXTERNALLY-MANAGED de python3.11
      ansible.builtin.stat:
        path: /usr/lib/python3.11/EXTERNALLY-MANAGED
      register: externally_managed_file_py311

    - name: Renombrar archivo EXTERNALLY-MANAGED de python3.11 si existe
      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: Verificar si existe el archivo EXTERNALLY-MANAGED de python3.12
      ansible.builtin.stat:
        path: /usr/lib/python3.12/EXTERNALLY-MANAGED
      register: externally_managed_file_py312

    - name: Renombrar archivo EXTERNALLY-MANAGED de python3.12 si existe
      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

La máquina necesita ser preparada. En CI, esto se hace usando molecule/default/prepare.yml:

---
- name: preparar
  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

También puedes ver una explicación completa y un ejemplo sobre cómo usar estos roles.

Variables del Rol

Los valores predeterminados para las variables se establecen en defaults/main.yml:

---
# archivo de valores predeterminados para update_pip_packages

# Una lista de ejecutables de pip que se utilizarán para obtener los paquetes.
# Ya sea la ruta completa o solo el nombre del ejecutable.
# Este rol "descubre" instalaciones de pip y pip3, pero si tienes un ejecutable 
# de pip específico, puedes agregar artículos a esta lista.
update_pip_packages_clients: []

# Puedes indicar que se ignoren una lista de paquetes. Los paquetes enumerados aquí no se actualizarán.
# update_pip_package_ignore:
#   - some_pip_package

Requisitos

Estado de los roles utilizados

Los siguientes roles se utilizan para preparar un sistema. Puedes preparar tu sistema de otra manera.

Requisito GitHub Versión
buluma.bootstrap Ansible Molecule Version
buluma.epel Ansible Molecule Version
buluma.python_pip Ansible Molecule Version
buluma.buildtools Ansible Molecule Version

Contexto

Este rol es parte de muchos roles compatibles. Consulta la documentación de estos roles para más información.

Aquí tienes una vista general de los roles relacionados:

dependencias

Compatibilidad

Este rol ha sido probado en estas imágenes de contenedor:

contenedor etiquetas
Debian todas
EL 8
Fedora todas
opensuse todas

La versión mínima de Ansible requerida es 2.12, se han realizado pruebas en:

  • La versión anterior.
  • La versión actual.
  • La versión de desarrollo.

Si encuentras problemas, por favor regístralos en GitHub

Changelog

Historial del Rol

Licencia

Apache-2.0

Información del Autor

Shadow Walker

Acerca del proyecto

Find and update pip packages.

Instalar
ansible-galaxy install buluma.update_pip_packages
Licencia
apache-2.0
Descargas
5.3k
Propietario
DevOps Engineer