5 GitLab CI/CD best practices voor snellere pipelines
Na jaren werken met GitLab CI/CD in verschillende projecten, hier vijf praktijken die consequent snellere, betrouwbaardere pipelines opleveren.
1. Caching slim gebruiken
Dependencies cachen tussen jobs om herhaald downloaden te voorkomen:
cache:
key: ${CI_COMMIT_REF_SLUG}
paths:
- node_modules/
- .npm/
De key zorgt ervoor dat verschillende branches aparte caches hebben.
2. Tests paralleliseren
Je testsuite verdelen over meerdere jobs:
test:
parallel: 4
script:
- npm run test -- --shard=$CI_NODE_INDEX/$CI_NODE_TOTAL
Dit kan de testtijd van 20 minuten naar 5 minuten terugbrengen.
3. rules: gebruiken in plaats van only/except
De nieuwere rules: syntax is krachtiger en leesbaarder:
deploy:
rules:
- if: $CI_COMMIT_BRANCH == "main"
when: on_success
- when: never
4. Docker images optimaliseren
Kleine base images en multi-stage builds gebruiken. Alpine-gebaseerde images kunnen 10x kleiner zijn dan Ubuntu-gebaseerde.
5. Snel falen
Snelle checks (linting, formatting) aan het begin van de pipeline zetten. Geen zin om een testsuite van 20 minuten te draaien als de code niet eens compileert.
Wat zijn jouw favoriete CI/CD optimalisaties? We horen er graag over.