클라우드/AWS

[Mac OS]AWS 배포 자동화 -1 Client (CodePipeline, CodeBuild, CodeDeploy, pipline 오류 확인)

chanstory 2023. 1. 14. 23:19
반응형

CodeBuild 란?

- 클라우드상의 완전관리형 빌드 서비스

- 소스코드를 컴파일하고 단위 테스트 실행

=> 코드빌드 사용 시 장점

      - 완전 관리형 : 빌드 서버를 직접 설정하여 패치 및 업데이트를 적용할 필요가 없음

      - 주문형 : 빌드 요구 사항에 따라 조정됨, 사용한 빌드 시간만큼 요금 지불

      - 아웃 오브 더 박스 : 프로그래밍 언어에 맞게 사전 구성된 빌드 환경을 제공, 빌드 스크립트를 선택하여 시작하면 됨 

 

CodePipeline 란?

- 소프트웨어 릴리즈에 필요한 단계를 모델링, 시각화 및 자동화 하는데 사용할 수 있는 지속적 전달 서비스

- 신속한 모델링 구성 가능

- 소프트웨어 변경 사항을 지속적으로 릴리스하는 데 필요한 단계 자동화 가능

CodeDeploy 란?

- EC2 인스턴스, 온프레미스 인스턴스, 등 어플리케이션 배포를 자동화하는 배포 서비스

- 다양한 어플리케이션 콘텐츠 무제한(거의) 배포 가능

 

 

배포  자동화 란?

- 한 번의 클릭 또는 명령어 입력을 통해 전체 배포 과정을 자동으로 진행하는 것을 뜻함

- 수동적이고 반복적인 배포 과정의 자동화르르 통한 시간절약 가능

- 휴먼에러 방지 

 

 

 

배포 자동화 파이프 라인

- 소스코드 관리부터 실제 서비스로의 배포 과정을 연결하는 구조

- 각 단계마다 주어진 작업(Actions)을 수행

 

 

 

* 배포 자동화 실습

A. 클라이언트 배포 파이프 라인 구축

 

1. CodeBuild 에 필요한 buildspec.yml 파일 생성 (EC2가 아닌 로컬로 레포지토리 clone 하여 진행함)

version: 0.2

phases:
  pre_build:
    commands:
      - cd client    // 빌드 전 실행 될 명령어
      - npm install
  build:
    commands:
      - npm run build

artifacts:
  files:
    - '**/*'
  base-directory: client/build

2. 변경 사항 저장 후 commit 및 push (git hub로)

 

3. 파이프라인 구축 

- AWS codepipeline 검색

 

- 파이프라인 생성 클릭

 

- 파이프라인 설정 선택

 

 

- 소스 공급자 선택 (git hub 버전 2)

 

- Git hub 연결

=> Git hub 연결 클릭 -> 연결이름 작성 -> Git hub 연결 클릭 -> 새 앱 설치 -> 본인 git ID 선택 -> 해당 레포짓토리 선택 -> Install

-> Github 앱 선택 후 연결

 

- 레포짓토리 및 브랜치 선택 

- 빌드 공급자 선택 (AWS CodeBuild)

 

- 프로젝트 생성

-> 파이프라인 계속 -> 다음

 

- 배포 스테이지 추가 (Amazon S3) -> 파이프라인 생성

 

- 각 스테이지 별 성공 / 실패 여부 확인

 

 

** 확인 사항 (오류사항 확인)

- S3 내 버킷이 새로 생성됨 - 정상임

 

- 파이프 라인 내 오류 체크 -> 세부정보 -> 맨 하단 부 이벤트 뷰 확인

 

반응형