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.

  1. 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
  2. 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

  1. Die Ansible Rolle benötigt kein cleanup.sh.j2 Script Template mehr
  2. Die Ansible Rolle benötigt kein docker-compose.yml.j2 Template mehr
  3. Die Cleanup Schritte werden über das docker_prune Modul von Ansible durchgeführt
  4. Das Deployment der Container wird über die Rolle deploy_generic_docker_container durchgeführt
  5. 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