buluma.update_pip_packages

Rôle Ansible update_pip_packages

Trouvez et mettez à jour les packages pip.

GitHub Version Problèmes Demandes de tirage Téléchargements
github Version Issues PullRequests Ansible Role

Exemple de Playbook

Cet exemple est tiré de molecule/default/converge.yml et est testé à chaque push, demande de tirage et publication.

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

  pre_tasks:
    - name: Mettre à jour le cache apt.
      apt: update_cache=yes cache_valid_time=600
      when: ansible_os_family == 'Debian'
      changed_when: false

    - name: Vérifier si le fichier EXTERNALLY-MANAGED python3.11 existe
      ansible.builtin.stat:
        path: /usr/lib/python3.11/EXTERNALLY-MANAGED
      register: externally_managed_file_py311

    - name: Renommer le fichier EXTERNALLY-MANAGED python3.11 s'il 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: Vérifier si le fichier EXTERNALLY-MANAGED python3.12 existe
      ansible.builtin.stat:
        path: /usr/lib/python3.12/EXTERNALLY-MANAGED
      register: externally_managed_file_py312

    - name: Renommer le fichier EXTERNALLY-MANAGED python3.12 s'il 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 machine doit être préparée. Dans CI, cela se fait en utilisant molecule/default/prepare.yml:

---
- name: préparer
  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

Voir également une explication complète et un exemple sur comment utiliser ces rôles.

Variables du Rôle

Les valeurs par défaut des variables sont définies dans defaults/main.yml:

---
# fichier de valeurs par défaut pour update_pip_packages

# Une liste d'exécutables pip qui seront utilisés pour obtenir les packages.
# Soit le chemin complet, soit juste le nom de l'exécutable.
# Ce rôle "découvre" les installations de pip et pip3, mais si vous avez un exécutable
# pip spécifique, vous pouvez ajouter des éléments à cette liste.
update_pip_packages_clients: []

# Vous pouvez indiquer d'ignorer une liste de packages. Les packages listés ici ne seront pas mis à jour.
# update_pip_package_ignore:
#   - some_pip_package

Exigences

État des rôles utilisés

Les rôles suivants sont utilisés pour préparer un système. Vous pouvez préparer votre système d'une autre manière.

Exigence GitHub Version
buluma.bootstrap Ansible Molecule Version
buluma.epel Ansible Molecule Version
buluma.python_pip Ansible Molecule Version
buluma.buildtools Ansible Molecule Version

Contexte

Ce rôle fait partie de plusieurs rôles compatibles. Consultez la documentation de ces rôles pour plus d'informations.

Voici un aperçu des rôles liés :

dépendances

Compatibilité

Ce rôle a été testé sur ces images de conteneurs:

conteneur tags
Debian tous
EL 8
Fedora tous
opensuse tous

La version minimale requise d'Ansible est 2.12, des tests ont été effectués sur :

  • La version précédente.
  • La version actuelle.
  • La version de développement.

Si vous trouvez des problèmes, veuillez les signaler sur GitHub

Journal des modifications

Historique du rôle

Licence

Apache-2.0

Informations sur l'auteur

Shadow Walker

À propos du projet

Find and update pip packages.

Installer
ansible-galaxy install buluma.update_pip_packages
Licence
apache-2.0
Téléchargements
5.3k
Propriétaire
DevOps Engineer