Noch Johr vo dr Arbet mit GitLab CI/CD in verschidena Projekt, do sin fünf Praktika wo konschtant schnelleri, zuverlessigeri Pipelines liefra.

1. Caching clever nutza

Dependencies zwischa Jobs cacha zum wiederholta Runterlade vermeida:

cache:
  key: ${CI_COMMIT_REF_SLUG}
  paths:
    - node_modules/
    - .npm/

Dr key schtellt sicher, dass verschideni Branches separati Caches han.

2. Tests parallelisiera

Test-Suite uf mehreri Jobs ufteila:

test:
  parallel: 4
  script:
    - npm run test -- --shard=$CI_NODE_INDEX/$CI_NODE_TOTAL

Des ka d Teschtzeit vo 20 Minuta uf 5 Minuta reduziera.

3. rules: statt only/except verwenda

D neieri rules: Syntax isch mächtiger un lesbarer:

deploy:
  rules:
    - if: $CI_COMMIT_BRANCH == "main"
      when: on_success
    - when: never

4. Docker Images optimiera

Kleini Base-Images un Multi-Stage Builds nutza. Alpine-basierti Images kenna 10x kleiner si als Ubuntu-basierti.

5. Schnell scheitra

Schnelli Checks (Linting, Formatierung) an dr Afang vo dr Pipeline setza. Kei Grund e 20-minütigi Test-Suite laufa z loh, wenn dr Code nit mol kompiliert.


Was sin eiri liebschta CI/CD Optimierunga? Mir freua uns devun z höra.