Cloud/Docker | K8s + CI, CD
[CI/CD][#1] CircleCI 를 활용한 자동화 파이프라인 구축
HelloJudy
2022. 5. 17. 19:26
0. 실습을 위한 GitHub Repo 구성
2차 프로젝트의 back 코드만 가지고 실습을 위한 GitHub 레퍼지토리를 생성했다.
1. CircleCI
1) 접속하기
깃허브로 로그인을 한다.
로그인을 하면 CircleCI 콘솔에 접속할 수 있다.
이때 이미 ./circleci/config.yml 파일을 생성해뒀다면 Set up Project 버튼이 비활성화 되어 있을 것이다.
나는 'CircleCI-practice' 레포 옆의 Set up Project를 클릭했다.
config.yml 파일을 선택하는 다양한 방법이 있는데 그 중에서 나는 Faster인 새로운 브렌치에 커밋하는 방법을 선택했다.
Success라고 되면 완성된 것이다.
깃허브에 들어가보면 자동으로 config 파일이 생성되었다.
2) config.yml 작성법
이 파일에 이제 내가 자동화하고자 하는 내용을 입력하게 된다. node를 선택했을 때 자동으로 생성되는 스크립트이다.
낯선 용어가 많기 때문에 용어부터 공부해보자.
# CircleCI 2.1 버전을 사용한다는 의미입니다.
# 각 버전에 따라 사용할 수 있는 속성이 다릅니다.
version: 2.1
# `node`라는 이름으로 `circleci/node@1.1.6` Orb를 사용한다는 의미입니다.
orbs:
node: circleci/node@1.1.6
# `build-and-test`라는 이름을 가진 Job의 속성을 나열합니다.
jobs:
build-and-test:
# 이 Job의 executor는 node Orb의 default executor 입니다.
executor:
name: node/default
# 이 Job에서 수행할 명령어 모음입니다.
steps:
# 이 프로젝트 코드를 executor에 다운로드 합니다.
- checkout
# node Orb의 with-cache 명령어 입니다.
# node_modules 폴더를 package.json을 키로 가지는 캐시에 생성합니다.
- node/with-cache:
# 캐싱되어 있던 node_modules 폴더를 불러 온 후 실행할 명령어를 입력합니다.
# 이 steps가 끝난 후의 node_modules를 캐시에 저장합니다.
steps:
- run: npm install
- run: npm test
# build-and-test라는 workflow에는 build-and-test라는 Job을 가지고 있다는 의미입니다.
workflows:
build-and-test:
jobs:
- build-and-test
1. Orb
- 개발 구축을 위한 공유 가능한 구성 패키지
2. Job
- workflow의 기본 단위
- job은 step의 기본 단위
3. Step
- steps는 job에서 커맨드를 실행하는 독립적인 단위
4. workflow
📌 Reference
반응형