반응형
Jenkins로 CI/CD를 할 때, 보통 git의 push이벤트가 트리거가 되어 빌드를 한다.
모노레포일때는 어떻게 해야 할까?
turborepo등을 사용하기도 하지만 지금 내 개발 환경은 한 레포지토리에 java백엔드와 nextjs프론트가 함께 있기때문에 적절하지 않은 것 같았다.
알고보니 jenkins pipeline에서 지원하는 기능이 있었다.
when과 changeset을 사용하면 된다.
Jenkins의 표준 기능이며 별도 세팅이 필요하지 않다.
stages {
stage('build') {
when { changeset "frontend/**"}
steps {
dir('./frontend'){
sh 'npm run build'
}
}
}
}
참고자료