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

136 lines
2.4 KiB
Markdown

---
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
```bash
# 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
```yaml
# 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
```bash
# Syntax Check
ansible-playbook --syntax-check tests/test.yml
# Lint Check
ansible-lint .
# YAML Lint
yamllint .
# Markdown Lint
npm run readme:lint
```
### Molecule Testing
```bash
# 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
```bash
# 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
```yaml
# Mehr Ausgaben für Debugging
- debug:
var: variable_name
when: ansible_verbosity >= 2
```