AWS

[ AWS ] - CI/CD pipeline 구축해서 배포 자동화하기

algml0703 2022. 6. 3. 09:10
반응형

CI/CD PipeLine 구축

 

애플리케이션 아키텍쳐

사용 기술

  • Git hub
  • AWS Elastic Beanstalk
  • AWS CodeBuild
  • AWS CodePipeline

순서

  1. 프로젝트를 저장한 git repository 생성 (Github)
  2. 배포 ( AWS Elastic Beanstalk )
  3. 빌드 프로젝트 생성 ( AWS Codebuild ) 
  4. 파이프 라인 생성 ( AWS CodePipeline )
  5. 파이프 라인 테스트

1. 프로젝트는 저장한 git repository 생성 ( Github )

나는 기존에 생성했던 프로젝트의 저장소를 활용하였다.

2. 배포 ( AWS Elastic Beanstalk )

AWS Elastic Beanstalk는 콘솔을 사용하여 AWS에서 애플리케이션을 실행하는 인프라에 대한 걱정 없이 애플리케이션 손쉽게 배포하고 관리할 수 있는 컴퓨팅 서비스이다. 코드를 업로드시 Elastic Beanstalk가 지속적인 완전관리형 패치 및 보안 업데이트를 통해 용량 프로비저닝, 로드 밸런싱, 자동 조정부터 웹 애플리케이션 상태 모니터링에 이르는 배포 작업을 자동으로 처리한다.

* 프로비저닝 : 사용자의 요구에 맞게 시스템 자원을 할당, 배치, 배포해 두었다가 필요 시 시스템을 즉시 사용할 수 있는 상태로 미리 준비해 두는 것

 

aws elastic beanstalk 를 검색 후 클릭한다.

Create Application을 클릭한다.

먼저 region을 설정한다. 나는 서울로 하였다.

아래와 같이 설정 후 애플리케이션 생성을 클릭한다.

생성 버튼 클릭 시 처음에는 터미널 화면과 같은 까만 화면에서 설정 파일이 생성되는 것을 확인할 수 있다.

아래와 같이 초록색 배경글이 나오면 배포가 완료되고, 애플리케이션 실행을 리소스가 관리되는 환경이 구성된 것이다.

아래와 같이 초록색 배경글이 나오면 애플리케이션 실행을 리소스가 관리되는 환경이 구성되어 배포된 것이다.

3. 빌드 프로젝트 생성 ( AWS Codebuild ) 

AWS CodeBuild는 소스 코드를 컴파일하여 배포하는 단계까지 관리하여 주는 완전관리형의 지속적 통합서비스이다. 참고로 codebuild는 사용한 만큼 요금이 부과되는 서비스이다.

aws codebuild를 검색 후 클릭한다.

빌드에서 시작하기 - 프로젝트 만들기를 클린한다.

아래의 창이 나오면 Authorize aws-codesuite 클릭 - github 비밀번호 입력 -확인 클릭한다.

빌드 명령 삽입 - 편집기로 전환을 클릭한다.

편집기에 내용을 작성한다. 내가 설정한 파일은 타입스크립트로 모듈 설치 후 한번 빌드가 필요하다.

완료 후 빌드 프로젝트 생성을 클릭한다.

이 후 바뀐 창에서 다시 빌드 시작 클릭 후 빌드 상태가 성공함으로 나와야 한다. 

4. 파이프 라인 생성 ( AWS CodePipeline )

codepipeline은 github에 코드가 변경된 것이 푸시되면 이를 감지하고, codebuild를 통해 소스 코드 빌드 후, Elastic Beanstalk로 배포를 실행하는 단계를 구축하여 한다.

파이프 라인 생성을 클릭한다.

아래와 같이 설정 후 다음을 클릭

github 한번더 연결 후 아래와 같이 설정한 후 다음을 클릭한다.

아래와 같이 설정 후 다음 클릭

아래와 같이 설정 후 다음 클릭 - 파이프 라인 생성 클릭

모든 작업이 완료되면 elastic-beanstalk로 이동하면 구성된 환경이 나열되는데 그 중에서 의 url을 클릭하면 내 프로젝트의 메인 화면이 나온다.

// 주의할 점은 처음에 port 를 3000으로 했을 때 bad request라는 500의 nginx에러가 났다. 포트 번호는 8080으로 해주어야 한다. 이는 기본적으로 Elastic Beanstalk는 요청을 포트 8080의 애플리케이션에 전달하도록 프록시를 구성하기 때문이다. 

5. pipeline에 검토단계 추가하기

codepipeline을 검색하여 해당 부분에에서 기존에 생성한 pipeline을 클릭하여 들어간다. 이후 페이지 상단에 편집을 클릭한다.

build와 deploy사이에 있는 스테이지 추가를 클릭한다. (즉 가운데에 있는 스테이지 추가 클릭) 

스테이지의 이름을 입력후 스테이지 추가를 클릭한다.

이후 해당 스테이지의 작업 그룹 추가를 클릭한다.  아래와 같이 설정 후 완료를 클릭한다. 이후에 페이지 상단의 저장 저장 클릭

이후에 프로젝트의 코드를 수정 후 다시 main 브랜치에 푸시한 후 살펴본다.

codepipeline 콘솔에 들어간 후 해당 pipeline 진행 상황 중에서 검토 단계에서 파란색으로 바뀌면 해당 부분의 검토를 클릭한다.

아래와 같은 창이 뜨면 승인 설명 기록 후 승인을 클릭한다.

 

완료!

 

출처

https://seosh817.tistory.com/104

https://en.wikipedia.org/wiki/CI/CD

https://aws.amazon.com/ko/getting-started/hands-on/create-continuous-delivery-pipeline/

반응형