CI/CD met webhosting: automatische deployment pipelines
Gepubliceerd op 09 December 2025
CI/CD met webhosting: automatische deployment pipelines
Continuous integration en continuous deployment (CI/CD) hebben moderne software development getransformeerd. In plaats van handmatige deployments en manual testing, automatiseer je het hele proces van code commit tot productie. Deze gids laat zien hoe je CI/CD implementeert met webhosting.
Wat is CI/cd?
Continuous integration (CI): elke code change die developers pushen wordt automatisch gebuild en getest. Dit detecteert problemen vroeg, voordat ze productie bereiken.
Continuous deployment (CD): code die alle tests passeert wordt automatisch naar productie deployed. Geen handmatige interventie nodig - van commit tot live in minuten.
Voor web development betekent dit snellere releases, minder bugs en meer vertrouwen in je deployment proces.
CI/CD pipeline componenten
Een typische pipeline bestaat uit:
Source control: code in Git (GitHub, gitlab, bitbucket). Elke push triggert de pipeline.
Build: compile code, install dependencies (npm install, composer install), build assets.
Test: run unit tests, integration tests, linting. Fail de deployment als tests niet passen.
Deploy: push naar staging of productie server. Dit kan via Git, SSH, FTP of provider-specific apis.
Verify: health checks en smoke tests na deployment om te verifiëren dat alles werkt.
CI/CD tools voor webhosting
GitHub actions
Gratis voor public repos, betaalbaar voor private repos. Direct geïntegreerd met GitHub. Simpele YAML configuratie voor workflows.
Voordelen:
- Native GitHub integratie
- Grote marketplace met pre-built actions
- Matrix builds voor multiple environments
- Secrets management built-in
Gitlab CI/CD
Gitlab biedt complete CI/CD out-of-the-box. Geen extra setup nodig als je gitlab gebruikt.
Voordelen:
- Gratis unlimited CI minutes (self-hosted runners)
- Docker container support
- Environment-specific deployments
- Review apps voor merge requests
Jenkins
Open-source CI/CD server. Zelf hosten op je eigen server. Enorme plugin ecosystem.
Voordelen:
- Volledig zelf gehost (geen vendor lock-in)
- Zeer configureerbaar
- Mature met grote community
Nadelen:
- Setup en maintenance overhead
- Requires dedicated server
Travis CI / circleci
Cloud-based CI services. Eenvoudige setup, betalen per build minute.
Voordelen:
- Managed service (geen server maintenance)
- Snelle setup
- Good documentation
Hosting requirements voor CI/CD
Niet alle hosting ondersteunt geautomatiseerde deployments even goed:
SSH toegang: voor deployment via Git pull of rsync is SSH essentieel. Shared hosting zonder SSH maakt CI/CD lastig.
Git support: de server moet Git geïnstalleerd hebben. De meeste moderne hosting heeft dit, maar check het.
Webhook support: sommige hosting platforms ondersteunen webhooks van GitHub/gitlab voor triggered deployments.
API access: managed hosting platforms zoals ploi, forge of platform.sh bieden apis voor programmatic deployments.
Voor hosting voor developers met CI/CD support, bekijk onze vergelijkingen.
CI/CD pipeline voorbeelden
GitHub actions voor Laravel
Name: deploy
On:
Push:
Branches: [main]
Jobs:
Deploy:
Runs-on: ubuntu-latest
Steps:
- Uses: actions/checkout@v2
- Name: deploy to server
Run: |
SSH user@server 'cd /var/www && Git pull && composer install --no-dev && PHP artisan migrate --force'
Gitlab CI voor Node.js
Deploy:
Stage: deploy
Script:
- SSH user@server 'cd /var/www && Git pull && npm ci --production && pm2 restart app'
Only:
- Main
Testing in CI/CD
Geautomatiseerde tests zijn cruciaal:
Unit tests: test individuele functies en classes. Snel en focused.
Integration tests: test hoe componenten samen werken. Database interactions, API calls.
End-to-end tests: simuleer user workflows. Tools zoals cypress of playwright.
Linting: enforce code style met eslint, phpstan, of language-specific linters.
Fail de deployment als tests niet passen. Liever een gemiste deployment dan bugs in productie.
Zero-downtime deployment strategieën
Blue-green deployment: twee identieke environments (blue en green). Deploy naar inactive environment, test, dan switch traffic.
Rolling deployment: update servers één voor één. Load balancer routeert traffic weg van updating servers.
Canary deployment: deploy naar klein percentage users eerst. Monitor metrics, dan gradually roll out.
Feature flags: deploy code disabled, enable features gradually via toggles.
Environment management
CI/CD werkt met meerdere environments:
Development: lokaal development environment. Geen CI deployment.
Staging: productie-achtige environment voor testing. Automatisch deployed bij merge naar develop branch.
Production: live site. Deployed bij merge naar main/master branch.
Gebruik environment variables voor configuratie verschillen. Database credentials, API keys, debug settings - alles environment-specific.
Security overwegingen
Secrets management: sla nooit credentials in Git. Gebruik CI platform secrets (GitHub secrets, gitlab CI variables).
Deployment keys: SSH keys specifiek voor deployment. Limited permissions, alleen read access voor Git.
Signed commits: verify commit authenticity met GPG signed commits.
Dependency scanning: scan dependencies voor known vulnerabilities. Tools zoals dependabot of snyk.
Monitoring en rollback
Health checks: Na deployment, verify dat de app nog werkt. HTTP request naar health endpoint.
Error tracking: monitor error rates met sentry, bugsnag of similar. Spike in errors = problematic deployment.
Rollback strategy: als deployment faalt, automatisch rollback naar vorige versie. Git revert + re-deploy.
Alerts: notificaties bij failed deployments via slack, email of SMS.
Gerelateerde artikelen
SSH toegang uitgelegd: waarom developers dit nodig hebben
Ontdek waarom SSH toegang essentieel is voor developers. Leer over veilige server toegang, remote management en de voordelen van SSH hosting.
Git deployment hosting: moderne workflows voor developers
Leer hoe Git deployment werkt met webhosting. Ontdek automatische deployment workflows, Git hooks en best practices voor moderne development.
Node.js hosting Nederland: complete gids voor developers
Alles over node.JS hosting in Nederland. Vergelijk providers, leer over deployment opties en ontdek de beste hosting voor je node.JS applicaties.