tehtbl.update
Opis roli
Instaluje aktualizacje w systemie.
Przykładowy Playbook
Ten przykład pochodzi z molecule/default/converge.yml
i jest testowany przy każdym pushu, pull requeście i wydaniu.
---
- name: Zbieżność
hosts: all
become: true
gather_facts: false
roles:
- role: tehtbl.update
Maszyna, na której to uruchamiasz, może wymagać przygotowania. Używam tego playbooka, aby upewnić się, że wszystko jest na swoim miejscu, aby rola mogła działać.
---
- name: Przygotowanie
hosts: all
become: true
gather_facts: false
roles:
- tehtbl.bootstrap
Zmienne roli
Te zmienne są ustawione w defaults/main.yml
:
---
# ------------------------------------------------------------------------
# plik domyślny dla aktualizacji
# ------------------------------------------------------------------------
# Tylko dla APT (Debian/Ubuntu): usuń nieużywane pakiety zależności dla wszystkich stanów modułów, z wyjątkiem `build-dep`
update_autoremove: false
# Tylko dla APT (Debian/Ubuntu): typ aktualizacji apt, który może być: dist, full, yes lub safe
update_upgrade_command: safe
# Tylko dla APT (Debian/Ubuntu): aktualizuj pamięć podręczną apt, jeśli jest starsza niż cache_valid_time. Ustaw w sekundach.
update_cache_valid_time: 7200
# Przy aktualizacji systemów może być wymagane ponowne uruchomienie. Tutaj możesz wybrać:
# "tak": Zawsze uruchamiaj ponownie, kiedy pakiety się zmieniają.
# "nie": Nigdy nie uruchamiaj ponownie, kiedy pakiety się zmieniają.
update_reboot: true
Wymagania
- Dostęp do repozytorium zawierającego pakiety, prawdopodobnie w internecie.
- Nowsza wersja Ansible. (Testy są przeprowadzane na obecnej, poprzedniej i następnej wersji Ansible.)
Następujące role można zainstalować, aby upewnić się, że wszystkie wymagania są spełnione, używając ansible-galaxy install -r requirements.yml
:
- tehtbl.reboot
Kontekst
Ta rola jest częścią wielu zgodnych ról. Zobacz moje inne role po więcej informacji.
Kompatybilność
Ta rola była testowana na tych obrazach Docker::
kontener | tag | zezwól na błędy |
---|---|---|
debian | stable | nie |
debian | testing | nie |
debian | unstable | tak |
ubuntu | xenial | tak |
ubuntu | bionic | nie |
ubuntu | focal | nie |
ubuntu | devel | tak |
Ta rola była testowana na tych wersjach Ansible:
- ansible>=2.8, <2.9
- ansible>=2.9
- git+https://github.com/ansible/ansible.git@devel
Testowanie za pomocą Tox
Testy jednostkowe są wykonywane przy każdym commicie, pull requeście, wydaniu i okresowo.
Jeśli znajdziesz problemy, proszę zgłoś je w GitHub
Testowanie odbywa się za pomocą Tox i Molecule:
Tox testuje różne wersje Ansible. Molecule testuje różne dystrybucje.
Aby przetestować używając domyślnych ustawień (dowolna zainstalowana wersja Ansible, przestrzeń nazw: tehtbl
, obraz: ubuntu
, tag: latest
):
molecule test
# Lub wybierz konkretny obraz:
IMAGE="ubuntu" molecule test
# Lub wybierz konkretny obraz i konkretny tag:
IMAGE="debian" TAG="stable" tox
Lub możesz przetestować wielokrotnie wersje Ansible i wybrać odpowiednie obrazy:
Tox pozwala testować wiele wersji Ansible. Aby uruchomić testy domyślne (przestrzeń nazw: tehtbl
, obraz: ubuntu
, tag: latest
):
tox
# Aby uruchomić Ubuntu (przestrzeń nazw: `tehtbl`, tag: `latest`)
IMAGE="ubuntu" tox
# Lub dostosuj więcej:
IMAGE="debian" TAG="stable" tox -e py37-ansible-current
Testowanie za pomocą Vagrant
Zainstaluj wtyczki vagrant
za pomocą:
vagrant plugin install vagrant-reload
Rozpocznij testy za pomocą dostawcy VirtualBox:
vagrant up
Licencja
Licencja MIT
Informacje o autorze
Źródła
To dzieło opiera się na świetnej pracy wielu ludzi, np. Roberta de Bocka, Jeffa Geerlinga i Thomasa Waldmanna. Dziękuję!