개발/기타
[Github Actions] paths 로 폴더 별로 트리거 하기
EVEerNew
2023. 11. 18. 13:21
반응형
기존에는 한 폴더 내의 변경 만으로도 모든 폴더가 각각 빌드되는 Workflow를 적용하고 있었다.
아무리 Public Repository는 Github Actions가 무료라도 이런 비효율성을 참을 수가 없으니 바꾸어 보자.
가장 간편한 방법은 on에서 paths 또는 paths-ignore를 사용하는 것이다.
paths를 사용하면 대상 폴더 내의 변경이 일어 났을 경우에만 workflow를 trigger 시킬 수 있다.
on:
push:
paths:
- '대상_폴더/**'
이때 **는 wildcard characters로, 폴더 내의 모든 대상을 가리키기 위해 사용된다.
아래 처럼 사용하면. js 확장자를 가진 코드 변경 시에만 trigger 할 수 있다.
on:
push:
paths:
- '**.js'
반대로 paths-ignore을 사용하면, 해당 경로의 변경은 actions를 trigger 하지 않도록 방지할 수 있다.
on:
push:
paths-ignore:
- '대상_폴더/**'
이를 통해 각 폴더 별로만 트리거되는 workflow를 작성해 주면, 같은 repository 내에서도 별개의 CI/CD를 적용할 수 있다.
본인의 경우 폴더 별로 docker image를 빌드하고 업로드 하는 코드로 활용하였다.
https://github.com/overnew/JobPostingCrawler/tree/main/.github/workflows
반응형