tehtbl.update
Rollenbeschreibung
Installiert Updates auf Ihrem System.
Beispiel Playbook
Dieses Beispiel stammt aus molecule/default/converge.yml
und wird bei jedem Push, Pull-Request und Release getestet.
---
- name: Zusammenführen
hosts: alle
become: true
gather_facts: false
roles:
- role: tehtbl.update
Der Computer, auf dem Sie dies ausführen, muss möglicherweise vorbereitet werden. Ich verwende dieses Playbook, um sicherzustellen, dass alles bereit ist, damit die Rolle funktioniert.
---
- name: Vorbereiten
hosts: alle
become: true
gather_facts: false
roles:
- tehtbl.bootstrap
Rollenvariablen
Diese Variablen sind in defaults/main.yml
festgelegt:
---
# ------------------------------------------------------------------------
# Standarddatei für das Update
# ------------------------------------------------------------------------
# Nur für APT (Debian/Ubuntu): Entferne ungenutzte Abhängigkeits-Pakete für alle Modulzustände außer `build-dep`
update_autoremove: false
# Nur für APT (Debian/Ubuntu): apt_upgrade-Typ, der sein kann: dist, full, yes oder safe
update_upgrade_command: safe
# Nur für APT (Debian/Ubuntu): Aktualisieren Sie den apt-Cache, wenn er älter ist als die cache_valid_time. In Sekunden festgelegt.
update_cache_valid_time: 7200
# Beim Aktualisieren von Systemen kann ein Neustart erforderlich sein. Hier können Sie auswählen:
# "yes": Immer neu starten, wenn Pakete sich geändert haben.
# "no": Niemals neu starten, wenn Pakete sich geändert haben.
update_reboot: true
Anforderungen
- Zugriff auf ein Repository mit Paketen, wahrscheinlich im Internet.
- Eine aktuelle Version von Ansible. (Tests werden mit der aktuellen, vorherigen und nächsten Version von Ansible durchgeführt.)
Die folgenden Rollen können installiert werden, um sicherzustellen, dass alle Anforderungen erfüllt sind, mit ansible-galaxy install -r requirements.yml
:
- tehtbl.reboot
Kontext
Diese Rolle ist Teil vieler kompatibler Rollen. Schauen Sie sich meine anderen Rollen für weitere Informationen an.
Kompatibilität
Diese Rolle wurde auf diesen Docker Images getestet:
Container | Tag | Fehlerspuren erlaubt |
---|---|---|
debian | stable | nein |
debian | testing | nein |
debian | unstable | ja |
ubuntu | xenial | ja |
ubuntu | bionic | nein |
ubuntu | focal | nein |
ubuntu | devel | ja |
Diese Rolle wurde auf diesen Ansible-Versionen getestet:
- ansible>=2.8, <2.9
- ansible>=2.9
- git+https://github.com/ansible/ansible.git@devel
Tests mit Tox
Einheitentests werden bei jedem Commit, Pull-Request, Release und regelmäßig durchgeführt.
Wenn Sie Probleme finden, registrieren Sie diese bitte in GitHub.
Das Testen erfolgt mit Tox und Molecule:
Tox testet mehrere Ansible-Versionen. Molecule testet mehrere Distributionen.
Um mit den Standardwerten zu testen (beliebige installierte Ansible-Version, Namespace: tehtbl
, Image: ubuntu
, Tag: latest
):
molecule test
# Oder wählen Sie ein bestimmtes Bild:
IMAGE="ubuntu" molecule test
# Oder wählen Sie ein bestimmtes Bild und einen bestimmten Tag:
IMAGE="debian" TAG="stable" tox
Oder Sie können mehrere Versionen von Ansible testen und die richtigen Images auswählen:
Tox ermöglicht es, mehrere Versionen von Ansible zu testen. Um die Standardtests (Namespace: tehtbl
, Image: ubuntu
, Tag: latest
) auszuführen:
tox
# Um Ubuntu auszuführen (Namespace: `tehtbl`, Tag: `latest`)
IMAGE="ubuntu" tox
# Oder noch mehr anpassen:
IMAGE="debian" TAG="stable" tox -e py37-ansible-current
Tests mit Vagrant
Installieren Sie vagrant
Plugins über:
vagrant plugin install vagrant-reload
Starten Sie die Tests über den VirtualBox Provider:
vagrant up
Lizenz
MIT Lizenz
Autoreninformationen
Quellen
Diese Arbeit basiert auf den großartigen Arbeiten vieler Menschen, z.B. Robert de Bock, Jeff Geerling und Thomas Waldmann. Vielen Dank!