Vrijdag 18.30 uur: dringende FTP-correctie, vergeten bestand, opcode-cache niet gewist, backtracking onmogelijk omdat niemand de vorige versie heeft getagd. Het team heeft twee ontwikkelaars en een oprichter: geen toegewijde platformingenieur, geen zwaar infrastructuurbudget. Een pijpleiding van dertig lijnen zou echter binnen twee minuten dezelfde correctie hebben doorgevoerd, met geschiedenis.
Dit scenario herhaalt zich zodra handmatige inzet onder druk de norm wordt. CI/CD voor een klein team is geen catalogus van DevOps-tools. Het is het automatiseren van de acties die u al doet – en u hoeft de productie niet langer toe te vertrouwen aan moeizaam handmatig klikken.
De juiste ambitie is niet “doen zoals de webgiganten”. Er wordt niet langer productie vanaf de banklaptop ingezet – zonder expliciete toestemming op vrijdagavond.
Begin klein: een workflow die linten, testen en implementeren in staging is vaak voldoende voor de eerste week. Voeg alleen handmatige productie toe als de enscenering betrouwbaar is gebleken – en niet andersom.
De minimaal levensvatbare pijplijn
1. Trigger — druk op main of samenvoeging van pull-verzoek.
2. Install + lint + test — die vaak tijdens de productie kapot gaat (syntaxis, betalingstests, proefmigraties).
3. Build — versie-artefact (archief, Docker-image, gecompileerde assets).
4. Implementatie van fasering — automatisch; rooktest krul of licht Toneelschrijver.
5. Implementeer prod — goedgekeurde handleiding of tag v*; Slack- of e-mailmelding.
| Stap | Gemeenschappelijk instrument | Overslaan als... |
|---|---|---|
| Lint | ESLint, PHPStan | Nooit — bijna nul kosten |
| Testen | PHPUnit, Jest | Alleen wegwerpprototype |
| Bouw | npm uitvoering bouwen | Pure PHP zonder activa |
| Implementeren | SSH + rsync, Clever Cloud, Forge | Gedeeld zonder SSH |
Automatiseer eerst wat al een storing heeft veroorzaakt. De rest wacht.
Hosting- en implementatiemethode
VPS + SSH — idempotent script, releases in /var/www/releases/ plus huidige symbolische link, backspace = linkherpunt.
PaaS (Clever Cloud, Platform.sh, Render) — git push-implementatie; CI roept CLI of webhook aan.
Gedeeld — Beperkt CI; soms alleen FTP. Overweeg om te migreren naar VPS of PaaS als u meer dan twee keer per week implementeert.
De implementatiemodus conditioneert de pijplijn: een PaaS zoals Clever Cloud accepteert een Git-push van de CI; een VPS vraagt om SSH en een idempotent script. Door hosting en pipeline samen te kiezen, vermijd je het bouwen van veertig banen voor een gedeelde dienst die alleen FTP accepteert.
Vergelijk hosts die geschikt zijn voor Git-implementatie in onze vergelijking.
Minimaal workflowvoorbeeld
Een .github/workflows/deploy.yml bestand van dertig regels is vaak voldoende: trigger op main, installatie van afhankelijkheden, lint, tests, build, SSH-implementatie tot preproductie. De productie blijft handmatig geactiveerd via workflow_dispatch of tag. Documenteer geheime variabelen in de interne README – SSH-host, privésleutel, implementatiepad – zodat de procedure het vertrek van een ontwikkelaar overleeft.
Kleine teamfouten
Een pijplijn van vijfentwintig minuten wordt uiteindelijk omzeild: niemand wacht, de FTP keert terug. Duidelijke geheimen in een .env gepleegd “door te vergeten” blijven de meest voorkomende oorzaak van compromissen. Automatische productie zonder voorproductie verandert elke fusie in Russische roulette. Het ontbreken van gedocumenteerd terugdraaien veroorzaakt paniek bij de eerste fout. Uiteindelijk wordt de defecte implementatie zonder meldingen ontdekt door de klant en nooit door het team.
Dramavrij terugdraaien
Git-tags op elke productierelease. Artefacten bewaard gebleven over N-versies. PaaS symbolische link of backtrack in één opdracht. Basis: omkeerbare migraties of back-up vooraf implementeren — zie back-upstrategie.
The Summit: automatisering die nooit werkt
Beter drie groenblijvende podia dan een omzeilde kathedraal.
Beslis en ga vooruit zonder blinde vlek
Begin met het opsommen van de laatste drie implementatiegerelateerde storingen. Dit is uw prioriteitsachterstand. Schrijf vervolgens een workflow van maximaal vijf stappen die deze specifieke risico's afdekt. Sluit de geheimen van de smederij aan en automatische implementatie in pre-productie. Vereist een rooktest voordat deze in productie gaat. Documenteer de terugdraaiprocedure op een pagina die toegankelijk is voor het hele team. Als u het artefact in een container plaatst, raadpleeg dan ook onze gids Docker voor beginners.
Veelgestelde vragen
Welke CI-tool voor twee ontwikkelaars?
GitHub Actions of GitLab CI zijn meer dan genoeg. Vermijd zelf-gehoste Jenkins zolang de beheerkosten meer kosten dan de winst; twee ontwikkelaars hebben geen tijd om naast het product een CI-smederij te onderhouden.
Wat moet u testen voordat u het implementeert?
De linter, kritische tests en een clean build vormen de basis. Voeg een pre-productie-HTTP-test toe als u die heeft; er is geen uitgebreide dekking nodig om aan de slag te gaan.
Automatische productie implementeren vanuit samenvoeging?
Te riskant zonder pre-productie. Automatisch pre-productie implementeren; houd de productiehandleiding bij of activeer deze door een tag na validatie.
Waar CI-geheimen opslaan?
In de gecodeerde geheimen van de smederij, nooit in het magazijn. Plan voor rotatie wanneer het team vertrekt.
CI/CD voor een klein team betekent niet “doen als Google”. Er wordt niet langer productie vanaf de banklaptop ingezet – zonder expliciete toestemming op vrijdagavond.
