Refactor Ansible Rolle gitlab_runner
User Story
Als DevOps Engineer möchte ich meinen Code regelmäßig refactoren, um neue Erkenntnisse und Verbesserungen in den Code einfließen zu lassen.
Warum
Die Ansible Rolle gitlab_runner müssten Änderungen vorgenommen werden.
-
cleanup.sh.j2
Dieses Scripte kann aus meiner Sicht abgelöst und mit Ansible nativen Tasks ersetzt werden.
https://docs.ansible.com/ansible/latest/collections/community/docker/docker_prune_module.html#ansible-collections-community-docker-docker-prune-module
Das neustarten der Container würde dann Schritt zwei übernehmen -
docker-compose.yml.j2
Dieses Template kann durch die Rolle deploy_generic_docker_container ersetzt werden. Aus meiner Sicht ist hier docker-compose ein unnötiger zusätzlicher Schritt, der dann durch Ansible native Tasks ersetzt werden kann.
Wenn man weiterhin auf docker-compose setzen möchte, sollte man das Ansible Modul für docker-compose verwenden und kein custom Script.
https://docs.ansible.com/ansible/latest/collections/community/docker/docker_compose_v2_module.html
Durch diese Optimierungen fallen die custom Scripte weg, und man setzt mehr auf Ansible native Module. Dadurch wird die Wartung der ganzen Rolle vereinfacht.
Links, Hinweise, Bemerkungen
Akzeptanzkriterien
-
Die Ansible Rolle benötigt kein cleanup.sh.j2 Script Template mehr -
Die Ansible Rolle benötigt kein docker-compose.yml.j2 Template mehr -
Die Cleanup Schritte werden über das docker_prune Modul von Ansible durchgeführt -
Das Deployment der Container wird über die Rolle deploy_generic_docker_container durchgeführt -
Die Molecule Tests sind an die neuen Gegebenheiten der Rolle angepasst
Mögliche Folgeaktivitäten (vom Entwickler zu ergänzen)
-
Anpassen der Rolle -
Anpassen der Molecule Tests -
Dokumenation -
Definition of Done was checked.
Edited by Rico Lang