tehtbl.update

Statut de construction

Description du rôle

Installez les mises à jour sur votre système.

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: false

  roles:
    - role: tehtbl.update

La machine sur laquelle vous exécutez cela peut avoir besoin d'être préparée. J'utilise ce playbook pour m'assurer que tout est en place pour que le rôle fonctionne.

---
- name: Préparer
  hosts: all
  become: true
  gather_facts: false

  roles:
    - tehtbl.bootstrap

Variables du rôle

Ces variables sont définies dans defaults/main.yml :

---
# ------------------------------------------------------------------------
# fichier par défaut pour la mise à jour
# ------------------------------------------------------------------------

# Pour APT (Debian/Ubuntu) seulement : supprimer les paquets de dépendance non utilisés pour tous les états de module sauf `build-dep'
update_autoremove: false

# Pour APT (Debian/Ubuntu) seulement : type d'apt_upgrade qui peut être : dist, full, yes, ou safe
update_upgrade_command: safe

# Pour APT (Debian/Ubuntu) seulement : mettre à jour le cache apt s'il est plus ancien que le cache_valid_time. Défini en secondes.
update_cache_valid_time: 7200

# Lors de la mise à jour des systèmes, un redémarrage peut être nécessaire. Ici, vous pouvez choisir de :
# "yes": Toujours redémarrer lorsque des paquets ont changé.
# "no": Ne jamais redémarrer lorsque des paquets ont changé.
update_reboot: true

Exigences

  • Accès à un dépôt contenant des paquets, probablement sur Internet.
  • Une version récente d'Ansible. (Les tests sont effectués sur la version actuelle, la précédente et la prochaine version d'Ansible.)

Les rôles suivants peuvent être installés pour s'assurer que toutes les exigences sont satisfaites, en utilisant ansible-galaxy install -r requirements.yml :

- tehtbl.reboot

Contexte

Ce rôle fait partie de nombreux rôles compatibles. Jetez un œil à mes autres rôles pour plus d'informations.

Compatibilité

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

conteneur tag permettre_échecs
debian stable non
debian testing non
debian unstable oui
ubuntu xenial oui
ubuntu bionic non
ubuntu focal non
ubuntu devel oui

Ce rôle a été testé sur ces versions d'Ansible :

Tests avec Tox

Tests unitaires sont effectués à chaque commit, demande de tirage, publication et périodiquement.

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

Les tests sont effectués en utilisant Tox et Molecule :

Tox teste plusieurs versions d'Ansible. Molecule teste plusieurs distributions.

Pour tester en utilisant les paramètres par défaut (n'importe quelle version d'Ansible installée, espace de noms : tehtbl, image : ubuntu, tag : latest) :

molecule test

# Ou sélectionnez une image spécifique :
IMAGE="ubuntu" molecule test

# Ou sélectionnez une image spécifique et un tag spécifique :
IMAGE="debian" TAG="stable" tox

Ou vous pouvez tester plusieurs versions d'Ansible, et sélectionner les images appropriées :

Tox permet de tester plusieurs versions d'Ansible. Pour exécuter les tests par défaut (espace de noms : tehtbl, image : ubuntu, tag : latest) :

tox

# Pour exécuter Ubuntu (espace de noms : `tehtbl`, tag : `latest`)
IMAGE="ubuntu" tox

# Ou personnalisez davantage :
IMAGE="debian" TAG="stable" tox -e py37-ansible-current

Tests avec Vagrant

Installez les plugins vagrant via :

vagrant plugin install vagrant-reload

Démarrez les tests via VirtualBox Provider :

vagrant up

Licence

Licence MIT

Informations sur l'auteur

Sources

Ce travail est basé sur le grand travail de nombreuses personnes, par exemple Robert de Bock, Jeff Geerling et Thomas Waldmann. Merci !

Installer
ansible-galaxy install tehtbl.update
Licence
mit
Téléchargements
1.8k
Propriétaire