tehtbl.update
Descripción del Rol
Instala actualizaciones en tu sistema.
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: Converge
hosts: all
become: true
gather_facts: false
roles:
- role: tehtbl.update
La máquina en la que estás ejecutando esto, puede necesitar ser preparada. Utilizo este playbook para asegurarme de que todo esté en su lugar para que el rol funcione.
---
- name: Prepare
hosts: all
become: true
gather_facts: false
roles:
- tehtbl.bootstrap
Variables del Rol
Estas variables se establecen en defaults/main.yml
:
---
# ------------------------------------------------------------------------
# archivo de valores predeterminados para update
# ------------------------------------------------------------------------
# Para APT (Debian/Ubuntu) únicamente: elimina paquetes de dependencia no utilizados para todos los estados del módulo excepto `build-dep'
update_autoremove: false
# Para APT (Debian/Ubuntu) únicamente: tipo de apt_upgrade que puede ser: dist, full, yes o safe
update_upgrade_command: safe
# Para APT (Debian/Ubuntu) únicamente: actualiza la caché de apt si es más antigua que cache_valid_time. Establecida en segundos.
update_cache_valid_time: 7200
# Al actualizar sistemas, puede ser necesario un reinicio. Aquí puedes seleccionar:
# "yes": Siempre reiniciar cuando se hayan cambiado paquetes.
# "no": Nunca reiniciar cuando se hayan cambiado paquetes.
update_reboot: true
Requisitos
- Acceso a un repositorio que contenga paquetes, probablemente en Internet.
- Una versión reciente de Ansible. (Las pruebas se realizan en la versión actual, anterior y siguiente de Ansible.)
Los siguientes roles se pueden instalar para asegurar que se cumplan todos los requisitos, utilizando ansible-galaxy install -r requirements.yml
:
- tehtbl.reboot
Contexto
Este rol es parte de muchos roles compatibles. Echa un vistazo a mis otros roles para más información.
Compatibilidad
Este rol se ha probado en estas imágenes de Docker:
contenedor | etiqueta | permitir_fallos |
---|---|---|
debian | stable | no |
debian | testing | no |
debian | unstable | yes |
ubuntu | xenial | yes |
ubuntu | bionic | no |
ubuntu | focal | no |
ubuntu | devel | yes |
Este rol se ha probado en estas versiones de Ansible:
- ansible>=2.8, <2.9
- ansible>=2.9
- git+https://github.com/ansible/ansible.git@devel
Pruebas Usando Tox
Pruebas unitarias se realizan en cada confirmación, solicitud de extracción, lanzamiento y periódicamente.
Si encuentras problemas, por favor regístralos en GitHub
Las pruebas se realizan utilizando Tox y Molecule:
Tox prueba múltiples versiones de Ansible. Molecule prueba múltiples distribuciones.
Para probar utilizando los valores predeterminados (cualquier versión de Ansible instalada, espacio de nombres: tehtbl
, imagen: ubuntu
, etiqueta: latest
):
molecule test
# O selecciona una imagen específica:
IMAGE="ubuntu" molecule test
# O selecciona una imagen específica y una etiqueta específica:
IMAGE="debian" TAG="stable" tox
O puedes probar múltiples versiones de Ansible y seleccionar las imágenes correctas:
Tox permite probar múltiples versiones de Ansible. Para ejecutar las pruebas predeterminadas (espacio de nombres: tehtbl
, imagen: ubuntu
, etiqueta: latest
):
tox
# Para ejecutar Ubuntu (espacio de nombres: `tehtbl`, etiqueta: `latest`)
IMAGE="ubuntu" tox
# O personaliza más:
IMAGE="debian" TAG="stable" tox -e py37-ansible-current
Pruebas Usando Vagrant
Instala los complementos de vagrant
a través de:
vagrant plugin install vagrant-reload
Inicia las pruebas a través del proveedor VirtualBox:
vagrant up
Licencia
Licencia MIT
Información del Autor
Fuentes
Este trabajo se basa en el gran trabajo de muchas personas, por ejemplo, Robert de Bock, Jeff Geerling y Thomas Waldmann. ¡Gracias!
Install updates on your system.
ansible-galaxy install tehtbl.update