// DevOps · Wave 6

GitHub Actions pe Linux: CI/CD, runners și deploy automat

GitHub Actions permite automatizarea testelor, build-urilor și deploy-urilor direct din repository. Pentru Linux și DevOps, valoarea vine din reproducibilitate: aceeași succesiune de pași rulează predictibil la fiecare schimbare.

Workflow, event, job și step

Workflow-urile sunt definite în fișiere YAML din .github/workflows/. Un eveniment precum push sau pull_request declanșează unul sau mai multe jobs, fiecare compus din steps.

Runners Linux

Un runner execută efectiv comenzile. Poți folosi runners găzduiți sau self-hosted. Pentru self-hosted, tratează runner-ul ca pe un sistem cu drepturi sensibile și izolează-l corespunzător.

Secrets și variabile

Tokenurile, parolele și cheile nu se pun în YAML. Se folosesc secrets și, unde este potrivit, environment protections. Logurile pipeline-ului trebuie verificate pentru a nu expune accidental date sensibile.

Artifacts și cache

Artifacts păstrează rezultate precum pachete sau rapoarte de test. Cache-ul accelerează dependențele, dar nu trebuie confundat cu un mecanism de stocare permanentă.

Deploy sigur

Deploy-ul ar trebui separat de build și test. Folosește environments, aprobări și permisiuni minime. Un pipeline bun poate fi reluat și auditat.

Debugging CI/CD

Când un workflow eșuează, izolează jobul și step-ul, verifică exit code-ul, variabilele de mediu și diferențele dintre runner și mediul local.

Pentru bază solidă de sistem, vezi Linux Advanced, Bash și cursurile Linux.

Întrebări frecvente

GitHub Actions poate face deploy pe un server Linux propriu?

Da, de regulă prin SSH, API-uri sau un runner self-hosted, cu credentiale gestionate ca secrets și acces minim necesar.

Este recomandat un runner self-hosted pe serverul de producție?

De obicei este mai sigur să separi runner-ul de producție și să limitezi strict drepturile și traseul de deploy.