그룹 프로젝트를 진행하며, 본격적인 개발에 들어가기 전 CI/CD 설정을 먼저 해두기로 했다.
우리 팀의 CI 파이프라인은 다음과 같다.
<aside> 💡
각자 feature 브랜치에서 작업한 후 github 에 push
develop / main 브랜치에 Pull Request
CI Pipeline workflow 가 BE/FE 파일 변화에 따라 린트 확인 / 테스트 / 빌드 확인을 진행
Status check가 통과하지 않으면 merge 불가
관련 브랜치 규칙 설정
PR 에 새 커밋이 추가되면 synchronize 로 트리거되어 다시 검사 </aside>
FE 와 BE 에 대해 완전히 동일한 검사 스크립트를 실행하기 때문에,
on
+ paths
조건으로 파일을 두 개로 나누는 것 보다,
matrix
기능을 활용해 각 디렉토리에 대해
base branch의 HEAD 커밋과 git diff
로 변경이 있는지 확인하기로 했다.
https://github.com/boostcampwm-2024/web09-DailyRoad/blob/develop/.github/workflows/CI_PIPELINE.yml
그리고 변경사항이 있는 디렉토리에 대해서만 검사를 진행한다.
매번 workflow 가 실행될 때 마다 새로 yarn install
명령이 실행되어
전체 검사 로직의 반 정도의 시간을 차지했다.