WEBBOOK CHAPTER

CI/CD, 서버실에서 클라우드까지: 18장. GitLab pipeline의 stage와 needs를 구분한다

18장. GitLab pipeline의 stage와 needs를 구분한다

GitLab 공식 CI/CD pipelines는 job이 독립 실행되고 stage는 순차, 같은 stage job은 병렬이며 needs로 dependency 기반 DAG를 만들 수 있다고 설명한다. stage를 조직 부서 이름으로 만들기보다 artifact 흐름을 표현한다.


test:
  stage: verify
  script: ["npm ci", "npm test"]
build:
  stage: build
  needs: [test]
  script: ["npm run build"]
  artifacts: { paths: [dist] }

artifact와 cache를 구분하고 expiry를 rollback window에 맞춘다. rules가 branch, tag, merge request에서 어떤 pipeline을 만드는지 CI Lint와 작은 fixture로 확인한다. 중복 branch+MR pipeline이 cost와 deployment race를 만들지 않게 한다.