서클CI에서 사용자의 작업 환경을 어떻게 설정하나요?
_____A: 서클CI에서 작업 환경은 주로 `config.yml` 파일 내의 워크플로우, 잡(job), 그리고 실행 환경 설정을 통해 구성됩니다. 주요 방법은 다음과 같습니다.
1. 도커 이미지 지정
- 각 잡(job) 실행 시 사용할 도커 이미지를 `docker` 섹션에 명시합니다.
- 예:
```yaml
jobs:
build:
docker:
- image: circleci/node:14
```
- 이를 통해 Node.js 14 버전이 포함된 컨테이너에서 작업을 수행합니다.
2. 머신 실행 환경 지정
- 도커가 아닌 실제 가상 머신 환경이 필요한 경우 `machine` 키워드를 사용합니다.
- 예:
```yaml
jobs:
build:
machine:
image: ubuntu-2004:202104-01
```
- Ubuntu 20.04 기반 VM에서 작업할 수 있습니다.
3. 리소스 클래스 지정
- CPU, 메모리 등의 작업 환경 사양을 `resource_class`로 조절할 수 있습니다.
```yaml
jobs:
build:
resource_class: large
```
- 더 큰 사양에서 빌드하도록 설정합니다.
4. 환경 변수 설정
- 작업 환경에서 사용할 환경 변수는 `environment` 항목 또는 프로젝트 설정을 통해 지정할 수 있습니다.
- 예:
```yaml
jobs:
build:
environment:
NODE_ENV: production
```
- 또한 CircleCI 프로젝트 설정 UI에서 보안 변수로도 관리 가능합니다.
5. 워크스페이스 및 저장소 체크아웃
- 코드 저장소를 자동으로 체크아웃 하는 `checkout` 스텝이 기본으로 포함되며, `workspaces`를 통해 파일이나 아티팩트를 작업 간 공유 가능합니다.
6. 캐싱 설정
- 의존성 등 반복 사용되는 파일을 캐시함으로써 작업 시간 및 환경 구성을 효율화할 수 있습니다.
7. 커스텀 셸 스크립트 실행
- 특정 환경 설정 스크립트나 종속성 설치를 `steps` 내 `run` 명령어로 실행해 환경을 커스터마이징할 수 있습니다.
요약하면, 서클CI의 작업 환경은 도커 이미지, 머신 환경, 리소스 클래스, 환경 변수 설정 및 실행 스크립트를 조합해 유연하게 설정합니다. 이를 통해 개발자가 원하는 언어, 라이브러리, 도구가 갖춰진 환경에서 CI/CD 파이프라인을 실행할 수 있습니다.
- CircleCI 대시보드에서 "Add Projects"로 가서 연결할 프로젝트를 선택합니다.
2. `.circleci/config.yml` 파일 생성 : - 각 프로젝트 루트 디렉토리에 `.circleci/config.yml` 파일을 생성합니다.
이 파일은 CI/CD 파이프라인의 설정을 정의합니다.
- YAML 포맷으로 작성되며, 필요한 작업(workflows), 작업(job), 실행 환경(docker image 등)을 설정할 수 있습니다.
3. Docker 이미지 선택 : - CircleCI에서 사용할 Docker 이미지를 설정합니다.
기본적으로 제공되는 CircleCI의 공식 이미지나, 커스텀 이미지를 사용할 수 있습니다.
- 예를 들어, Node.js 프로젝트라면 다음과 같이 설정할 수 있습니다: ```yaml version:
2.1 jobs: build: docker: - image: circleci/node:14 steps: - checkout - run: name: Install dependencies command: npm install - run: name: Run tests command: npm test ```
4. 환경 변수 설정 : - 환경 변수는 CircleCI의 "Project Settings"에서 설정할 수 있습니다.
민감한 정보(예: API 키 등)를 안전하게 관리할 수 있습니다.
- CI/CD 과정에서 필요로 하는 변수를 정의하여 사용할 수 있습니다.
5. 킬러 워크플로우 설정 : - 작업의 흐름을 정의하는 워크플로우를 설정할 수 있습니다.
워크플로우 내에서는 여러 작업을 순차적으로 또는 병렬로 실행할 수 있습니다.
- 예를 들어: ```yaml workflows: version: 2 build_and_test: jobs: - build ```
6. 다양한 설정 옵션 사용 : - CircleCI에서는 Caching, 테스트 데이터베이스 설정, 스케줄링 등 다양한 설정 옵션을 지원합니다.
- 필요한 경우, 이런 기능들을 `.circleci/config.yml`에 추가하여 최적화합니다.
7. 테스트 및 배포 설정 : - 설정이 완료된 후, 코드 변경 사항을 커밋하면 CircleCI가 자동으로 작업을 실행합니다.
- 배포를 설정하는 경우, 추가적인 작업과 조건을 추가하여 특정 브랜치에 푸시할 때만 배포하는 등의 설정이 가능합니다.
이와 같은 단계들을 통해 CircleCI에서의 작업 환경을 설정하고, 프로젝트의 CI/CD 파이프라인을 효율적으로 관리할 수 있습니다.
설정 후 빌드 및 테스트가 성공적으로 완료되면, 배포 프로세스를 설정하여 자동으로 배포되도록 구성할 수 있습니다.
작성자:
박예림 [비회원]
| 작성일자: 1년 전
2025-03-22 03:01:51
조회수: 167 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
조회수: 167 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.