서클CI에서 특정 브랜치만 빌드하는 방법은?
_____A: 서클CI에서 특정 브랜치만 빌드하도록 설정하려면, 프로젝트의 `.circleci/config.yml` 파일 내에 워크플로우(workflows) 또는 잡(jobs) 실행 조건을 브랜치 필터(branch filters)를 통해 지정해야 합니다. 방법은 다음과 같습니다.
1. 워크플로우 레벨 필터 설정
```yaml
workflows:
version: 2
build-and-test:
jobs:
- build:
filters:
branches:
only:
- main main 브랜치만 빌드
- release release 브랜치도 빌드하고 싶을 경우 추가
```
- `filters.branches.only` 키 아래에 빌드할 브랜치 이름을 리스트로 넣습니다.
- 지정한 브랜치 외의 커밋 푸시 때는 해당 워크플로우가 실행되지 않습니다.
2. 잡(job) 레벨 필터 설정
잡 단위로 필터링도 가능하며, 복수 잡에서 각각 다른 브랜치를 빌드하려 할 때 유용합니다.
```yaml
jobs:
build:
docker:
- image: cimg/node:14.17
steps:
- run: echo "빌드 작업"
workflows:
version: 2
my_workflow:
jobs:
- build:
filters:
branches:
only:
- develop
```
3. 예외 처리: 특정 브랜치 제외하기
```yaml
filters:
branches:
ignore:
- experimental
```
- `ignore`를 사용하면 특정 브랜치를 빌드 대상에서 제외할 수 있습니다.
4. 요약
- `.circleci/config.yml` 내 `workflows.jobs[].filters.branches.only` 또는 `ignore` 항목을 설정한다.
- 여러 브랜치를 지정할 수 있으며, 빌드 대상 외 브랜치 커밋 푸시는 빌드 트리거가 되지 않는다.
- 필터링은 워크플로우 단위 또는 잡 단위로 자유롭게 설정 가능하다.
이렇게 하면 서클CI가 지정한 브랜치에 대해서만 빌드 및 테스트를 수행하도록 제어할 수 있습니다.
특정 브랜치에 대한 빌드를 지정하려면 `filters`를 사용하여 해당 브랜치만 지정할 수 있습니다.
다음은 CircleCI에서 특정 브랜치만 빌드하도록 설정하는 방법에 대한 단계별 안내입니다: 1. `circleci/config.yml` 파일 열기 프로젝트의 루트 디렉터리에 있는 `circleci/config.yml` 파일을 엽니다.
2. 빌드할 브랜치 필터 설정 이 파일에서 `jobs` 아래에 `filters`를 추가하여 특정 브랜치에 대한 조건을 설정합니다.
아래의 예제에서는 `main`이라는 브랜치만 빌드하도록 설정하고 있습니다: ```yaml version:
2.1 jobs: build: docker: - image: circleci/python:3.8 steps: - checkout - run: echo "Building on the main branch!" workflows: version: 2 build: jobs: - build: filters: branches: only: - main 여기서 'main' 브랜치만 지정합니다.
```
3. 변경사항 커밋 및 푸시 `config.yml` 파일을 수정한 후, 변경 사항을 커밋하고 원격 저장소에 푸시합니다.
```bash git add circleci/config.yml git commit -m "Configure CircleCI to build only on the main branch" git push origin main ```
4. 결과 확인 CircleCI 대시보드에 이동하여 설정한 브랜치에 대한 빌드가 실행되는지 확인합니다.
이제 `main` 브랜치에 변경 사항이 있을 때만 빌드가 trigger됩니다.
이와 같이 `filters`를 설정함으로써 원하는 특정 브랜치에 대해서만 CI/CD 파이프라인을 실행할 수 있습니다.
다른 브랜치에서도 빌드를 실행하고 싶다면 `only` 부분에 브랜치를 추가하거나, `ignore`를 사용하여 빌드를 제외할 브랜치를 지정할 수 있습니다.
작성자:
이서진 [비회원]
| 작성일자: 1년 전
2025-03-22 03:01:23
조회수: 138 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
조회수: 138 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.