You've already forked ansible-role-act-runner
2.4 KiB
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
- Branch erstellen:
git checkout -b feature/beschreibung - Änderungen implementieren
- Tests ausführen
- Dokumentation aktualisieren
- 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
- In
defaults/main.yamlmit@paramDokumentation - OS-spezifische Werte in
vars/OS.yaml - 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