if: (Rulare Condiționată) este o componentă esențială în ecosistemul GitHub Actions & CI/CD. Controlul granular al execuției joburilor sau pașilor în funcție de branch, contextul evenimentului sau succesul pașilor anteriori.
Sintaxă și Utilizare Practică
Exemplu practic documentat pas cu pas:
steps:
- name: Rulează doar pe branch-ul main și nu din fork-uri
if: github.ref == 'refs/heads/main' && github.repository == 'dexter/dexblog'
run: ./build-production.sh
- name: Trimite alertă Slack la eșec
if: failure() # Se execută doar dacă oricare pas anterior a eșuat
run: ./notify-slack.sh "Build eșuat pe branch-ul ${{ github.ref }}"
Bune Practici în Producție
- Performanță și Resurse: Optimizați parametrii de alocare de resurse și respectați cerințele operaționale.
- Securitate și Audit: Asigurați principiul celui mai mic privilegiu (Least Privilege) și monitorizarea activităților.
- Fiabilitate: Integrați proceduri de testare, validare automată și mecanisme clare de rollback.