본문 바로가기

DevOps/AWS

클라이언트 배포 자동화

반응형

배포 자동화를 구축할 수 있는 툴에는 여러가지가 존재하지만 이번 실습에서는 AWS 이용하고자 한다.

 

먼저 작성한 로컬 환경에 소스코드가 있다는 가정하에 시작할 것이다.

#실습 전 비어있는 S3 버킷을 하나 생성한다.

 

1. 소소크드가 작성된 로컬 환경의 최상위 디렉토리에 buildspec.yml 작성

##buildspec.yml

version: 0.2

phases:     #필수 시퀀스, 빌드를 수행하면서 실행할 각 단계를 기입
  pre_build:     #build단계 이전 실행되어야하는 부분
    commands:
      - cd client
      - npm install
  build:
    commands:
      - npm run build

artifacts:     #build의 출력 결과물의 위치 또는 S3에 출력 버킷에 업로드하기 위한 방법에 대한 정보
  files:
    - '**/*'     #모든 파일을 재귀적으로 나타냄
  base-directory: client/build

2. CodePipeline 구성

AWS 에서 CodePipeline 검색 후 파이프라인 생성

다음에서 소스 공급자 Github(버전2) 선택 후 

Github 연결  > 자유롭게 연결 이름 설정  > 새 앱 설치 > github 계정 연결 > repo 선택 후 완성된 앱 선택

빌드 스테이지 추가

빌드 프로젝트 생성에서 이름은 자유롭게 작성

이미지 별 이용가능한 런타임이 다르기 때문에 선택 시 레퍼런스를 참고할 수 있다.

S3 버킷이 많아지면 과금 위험이 있기 때문에 CloudWatch 기능을 이용하여 출력 로그를 저장할 수 있다. (리소스 분산)

소스단계에 OutputArtifactFormat 이 ZIP 으로 되어 있기 때문에 압축 풀기를 선택해준다.

↑ 모두 작업을 순차적으로 수행했다면 볼 수 있는 결과 ↑

#만약 에러를 만났다면 아래를 검색 후 참고하여 해결가능

1. CodeBuild

2. Cloudwatch

이미지 상의 경로 탐색

 

반응형

'DevOps > AWS' 카테고리의 다른 글

배포 자동화 - 환경 변수 설정  (0) 2023.01.16
서버 배포 자동화  (0) 2023.01.16
AWS 클라우드 서비스  (0) 2023.01.16
서버 배포 자동화 - 트러블 슈팅  (1) 2023.01.13
클라이언트 배포 자동화 - 트러블 슈팅  (0) 2023.01.13