클라이언트 배포란
배포 자동화
한번의 클릭 또는 명령어 입력해 전체 배포 과정을 자동으로 진행
왜 필요한가?
1.시간 절약
2.휴먼 에러방지
DevOps특징
개발에서 운영까지 하나의 통합된 프로세서로 묶음.
툴과 시스템을 표준화하여 의사소통 효율성 확보.
일련의 작업들을 자동화함.
즉 코드통합, 테스트, 배포 과정을 자동화시킴.
CI/CD 란
파이프라인 3단계
- Source 단계: Source 단계에서는 원격 저장소에 관리되고 있는 소스 코드에 변경 사항이 일어날 경우, 이를 감지하고 다음 단계로 전달하는 작업을 수행합니다.
- Build 단계: Build 단계에서는 Source 단계에서 전달받은 코드를 컴파일, 빌드, 테스트하여 가공합니다. 또한 Build 단계를 거쳐 생성된 결과물을 다음 단계로 전달하는 작업을 수행합니다.
- Deploy 단계: Deploy 단계에서는 Build 단계로부터 전달받은 결과물을 실제 서비스에 반영하는 작업을 수행합니다.
CI/CD 파이프라인 구성 요소 및 장점
- 빌드 (소프트웨어 컴파일)
- 테스트 (호환성 및 오류 검사)
- 릴리스 (버전 제어 저장소의 애플리케이션 업데이트)
- 배포 (개발에서 프로덕션 환경으로의 변환)
- 규정 준수 및 유효성 검사
지속적 통합 및 배포를 말함.
잘 구축된 CI/CD는 애플리케이션 배포 시간을 크게 단축시킴.
지속적 통합(Continuous Integration, CI)
개발자를 위한 자동화 프로세스라고 볼 수 있으며, Code - Build - Test 단계에서 꾀할 수 있습니다.
- Code : 개발자가 코드를 원격 코드 저장소 (Ex. github repository)에 push하는 단계입니다.
- Build : 원격 코드 저장소로부터 코드를 가져와 유닛 테스트 후 빌드하는 단계입니다.
- Test : 코드 빌드의 결과물이 다른 컴포넌트와 잘 통합되는 지 확인하는 과정입니다.
지속적 배포(Continuous Delivery/Deployment, CD)
지속적인 서비스 제공(Continuous Delivery) 및 지속적인 배포(Continuous Deployment)를 의미하며 이 두 용어는 상호 교환적으로 사용됩니다. 이 부분은 Release - Deploy - Operate 단계에서 꾀할 수 있습니다.
- Release : 배포 가능한 소프트웨어 패키지를 작성합니다.
- Deploy : 프로비저닝을 실행하고 서비스를 사용자에게 노출합니다. 실질적인 배포 부분입니다.
- Operate : 서비스 현황을 파악하고 생길 수 있는 문제를 감지합니다.
지속적 배포 사례
Github Page
지정해둔 디렉터리에 정해진 방식에 따라 잘 커밋하기만 하면, Github Page가 알아서 해당 index.html 파일과 해당 디렉터리에 있는 파일을 잘 번들링해서 Github Page 서버에 업로드합니다. 이렇게 자동으로 인터넷에 배포가 되었고, 주변 가족이나 친구들에게 쉽게 만든 결과물을 공유할 수 있었습니다.
github action으로 클라이언트 CI/CD를 구축한 배포 링크
http://fe-64-holyyoon-s3.s3-website.ap-northeast-2.amazonaws.com/
React App
fe-64-holyyoon-s3.s3-website.ap-northeast-2.amazonaws.com
'코드스테이츠 42기 > [TIL] Section 4' 카테고리의 다른 글
Unit8 - [최적화] Optimization (0) | 2023.02.01 |
---|---|
Unit3 - [React] 번들링과 웹팩과제 (0) | 2023.01.18 |
Unit1 - [자료구조/알고리즘] 기초 (0) | 2023.01.12 |