Files
ansible-role-act-runner/.kiro/steering/development-workflow.md
Markus Pesch 82250f851d
Some checks failed
Lint Markdown files / markdown-lint (push) Failing after 11s
Ansible Linter / ansible-lint (push) Successful in 18s
fix: pass token via cli arg
2026-01-08 18:21:32 +01:00

2.4 KiB

inclusion
inclusion
always

Entwicklungsworkflow für Act Runner Ansible Role

Entwicklungsumgebung

Voraussetzungen

  • Ansible >= 2.9
  • Node.js >= 16.0.0 (für Dokumentations-Tools)
  • Docker (für Testing)
  • Molecule (für Role-Testing)

Setup

# Dependencies installieren
npm install

# Ansible Collections installieren
ansible-galaxy collection install -r requirements.yml

# Molecule für Testing
pip install molecule[docker]

Code-Änderungen

Workflow

  1. Branch erstellen: git checkout -b feature/beschreibung
  2. Änderungen implementieren
  3. Tests ausführen
  4. Dokumentation aktualisieren
  5. Pull Request erstellen

Task-Entwicklung

# Neue Tasks in tasks/main.yaml hinzufügen
- name: Beschreibender Name der Aktion
  ansible.builtin.module:
    parameter: "{{ variable }}"
  register: result
  when: condition
  notify: handler_name

Variablen hinzufügen

  1. In defaults/main.yaml mit @param Dokumentation
  2. OS-spezifische Werte in vars/OS.yaml
  3. README automatisch regenerieren: npm run readme:parameters

Testing

Lokales Testing

# Syntax Check
ansible-playbook --syntax-check tests/test.yml

# Lint Check
ansible-lint .

# YAML Lint
yamllint .

# Markdown Lint
npm run readme:lint

Molecule Testing

# Alle Tests
molecule test

# Nur Syntax
molecule syntax

# Converge (ohne Destroy)
molecule converge

Qualitätssicherung

Pre-Commit Checks

  • Ansible Lint muss ohne Fehler durchlaufen
  • YAML Syntax muss korrekt sein
  • Markdown Dokumentation muss valide sein
  • Alle neuen Variablen müssen dokumentiert sein

Code Review Kriterien

  • Idempotenz gewährleistet
  • Fehlerbehandlung implementiert
  • Plattform-Kompatibilität beachtet
  • Sicherheits-Best-Practices befolgt
  • Tests für neue Funktionalität

Release-Prozess

Versionierung

  • Semantic Versioning (MAJOR.MINOR.PATCH)
  • Tags für Releases
  • Changelog pflegen

Ansible Galaxy

# Role zu Galaxy hochladen
ansible-galaxy role import volker-raschek act-runner-ansible-role

Troubleshooting

Häufige Probleme

  • Service startet nicht: Logs prüfen mit journalctl -u act_runner
  • Registrierung fehlgeschlagen: Token und URL validieren
  • Permission Denied: Benutzer/Gruppen-Konfiguration prüfen

Debug-Modus

# Mehr Ausgaben für Debugging
- debug:
    var: variable_name
  when: ansible_verbosity >= 2