배포 자동화 파이프라인(Pipeline)
- 정의: 소스 코드의 관리~실제 서비스 배포 과정을 연결하는 구조
- 단계
1. Source: 소스 코드에 변경이 있을 경우, 감지하고 다음 단계로 전달하는 작업 수행
2. Build: source단계에서 전달받은 코드를 컴파일, 빌드, 테스트하여 가공
3. Deploy: build단계에서 전달받은 결과물을 실제 서비스에 반영
- 배포 자동화가 필요한 이유
1. 시간 절약
2. 휴먼 에러(Human Error)방지
CI(continuous integration)/CD(continuous deployment)
- 정의
CI는 지속적 통합의 약자로, 팀 구성원이 각자의 작업을 자주 통합하는 소프트웨어 개발 방식
CD는 지속적 통합 과정이 끝나면 고객에게 배포하는 것을 말함
- 단계
CI
1. code: 개발자가 코드를 코드 저장소에 push
2. build: 코드 저장소로부터 코드를 가져와서 빌드
3. test: 코드 빌드의 결과물이 다른 컴포넌트와 잘 통합되는지 확인
CD
1. release: 어떤 기능을 넣을지, 배포할지 말지 결정하는 단계
2. deploy: 실제 배포
3. operation: 배포된 소프트웨어를 실제 운용하는 과정
Vercel로 클라이언트 CI/CD 구축 배포
1. 깃허브 홈페이지에 새로운 레포지토리를 만듦
2. 레포지토리 생성 시 pubulic으로 해야 Github action을 무료로 이용 가능
3. 새로운 레포지토리에 코드를 push
# 기존 레퍼런스 클론
git clone git@github.com:{가져오는 레퍼런스 이름}.git
# 디렉터리 이동
cd {가져오는 레퍼런스 이름}
# 새로운 리포지토리를 원격 리포지토리로 등록
git remote add myRepo git@github.com:{아이디}/{새로운 리포지토리 이름}.git
# 기존 레퍼런스 코드를 새로운 리포지토리로 push
git push myRepo reference
4. push확인, 커밋 기록에 주황색 원 모양이 뜸
5. Actions탭에 들어가서 확인
6. Vercel 홈페이지 들어가서 로그인하기
7. 우측 중간의 'New Project'클릭하기
8. 깃허브와 연동하여 레포지토리 빌드 및 Deploy 실행
*Vercel이 EC2와 같은 인스턴스를 따로 실행시켜, 빌드 및 배포를 자동으로 진행
'프로그래밍 > CS' 카테고리의 다른 글
[CS] 컴퓨터의 구성 (0) | 2022.09.02 |
---|---|
기술면접 대비(JavaScript, React, 운영체제, 자료구조) (0) | 2022.08.18 |
Lighthouse (0) | 2022.08.04 |
반응형 웹, CSS 애니메이션 (0) | 2022.07.22 |
HTML/CSS 심화 (0) | 2022.07.22 |
댓글