Go, Vantage point
가까운 곳을 걷지 않고 서는 먼 곳을 갈 수 없다.
Github | https://github.com/overnew/
Blog | https://everenew.tistory.com/
티스토리 뷰
기존에는 한 폴더 내의 변경 만으로도 모든 폴더가 각각 빌드되는 Workflow를 적용하고 있었다.
아무리 Public Repository는 Github Actions가 무료라도 이런 비효율성을 참을 수가 없으니 바꾸어 보자.
Workflow syntax for GitHub Actions - GitHub Docs
A workflow is a configurable automated process made up of one or more jobs. You must create a YAML file to define your workflow configuration.
docs.github.com
가장 간편한 방법은 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
'CS > 기타' 카테고리의 다른 글
왜 Web server와 WAS의 분리가 필요할까? (1) | 2024.07.14 |
---|---|
SQL과 데이터베이스 (0) | 2024.01.25 |
Slack bot으로 유저에게 1:1 DM 보내기 (0) | 2023.10.21 |
Selenium으로 웹 크롤링 시도하기 (0) | 2023.07.26 |
[Linux] procfs, procseq 컴파일 에러 (error: variable '' has initializer but incomplete type) (0) | 2022.11.14 |