db1342685c
CI Feature / Load example-gitea-env.conf to pipeline env (push) Successful in 24s
unit-tests Link to Bats reports
CI Feature / Bats tests (push) Successful in 1m46s
acc-tests Link to Cucumber reports
CI Feature / Cucumber tests (push) Successful in 1m8s
CI Feature / Report Summary (push) Successful in 5s
1.6 KiB
1.6 KiB
10. Pipeline-reititin — ei komentoja
Päätös
CI-pipelinetiedostot (ci-main.yml, ci-feature.yml) ovat puhtaita
reitittimiä. Ne eivät saa sisältää run:-komentoja, inline-skriptejä
tai varsinaista build-/test-logiikkaa. Niiden ainoa sallittu sisältö on:
uses:— viittaus reusable workflow'hunneeds:— riippuvuus toisen jobin valmistumiseenif:— ehdollinen suoritussecrets: inherit— salaisuuksien välitys
Mikä ei kuulu reitittimeen
run:-komennot- Inline-skriptit (shell, Python, tms.)
actions/checkout(paitsi providerin sisäinen infrastruktuuri)- Build-työkalut, testikomennot, Docker-komennot
- Raporttien generointi
Missä logiikka on
| Kerros | Tiedosto | Sisältö |
|---|---|---|
| Reititin | ci-main.yml, ci-feature.yml |
Vain uses:-kutsut |
| Workflow_call | ci-unit-tests.yml, ci-acc-tests.yml, … |
Varsinainen testi-/build-logiikka |
| Provider | config-provider.yml, check-version.yml, … |
Jaettu infrastruktuuri |
| Skriptit | scripts/ |
Apufunktiot (status, publish, validointi) |
Perustelu
Reitittimen ja toteutuksen erottelu:
- Reititin kertoo mitä ajetaan ja missä järjestyksessä — luettavissa yhdellä silmäyksellä ilman teknistä taustaa
- Toteutus (workflow_call) kertoo miten — tekninen henkilö voi keskittyä yhteen tiedostoon kerrallaan
- Providerin reusable workflow't eivät koskaan sisällä inline-logiikkaa — skriptit ovat omissa tiedostoissaan
Tämä on sama periaate kuin web-sovelluksissa: reititin ei sisällä business-logiikkaa, vain HTTP-verbit ja polut.