배포 자동화

client 파이프 라인 구축 Hands-on

프도의길 2022. 10. 4. 00:56

실습의 첫 번째 단계로 codeBuild 서비스를 이용하는데 필요한 buildspec.yml 파일을 생성하겠습니다.

 

로컬 환경에 저장되어 있는 소스 코드에 접근합니다. 소스 코드의 최상위 디렉토리에 buildspec.yml 파일을 생성한 뒤, 슬라이드 아래 참조 자료 부분에 'buildspec.yml'을 참조하여 파일 안의 내용을 채웁니다. 변경사항을 저장하고 commit 후 push 합니다.

 

buildspec.yml 파일 생성이 끝나면, 본격적으로 배포 파이프라인 구성을 진행합니다.

CodePipeline 메인 콘솔에 접속합니다.
[ 파이프라인 생성 ] 버튼을 클릭합니다.

 

파이프라인 이름을 설정합니다. 여기서 파이프라인 이름은 100자를 초과하지 않는 선에서 자유롭게 짓습니다. [ 다음 ] 버튼을 클릭하여 다음 단계로 넘어갑니다.

파이프라인 설정 선택이 끝나면 소스 단계로 이동합니다. 소스 단계에서는 GitHub 리포지토리를 연결합니다. 소스 단계를 통해 GitHub 리포지토리에 변경 사항이 생길 경우 자동으로 변경 사항이 파이프라인에 반영됩니다.

[ Github에 연결 ] 버튼을 클릭합니다.
연결 이름은 자유롭게 짓습니다. [ GitHub에 연결 ] 버튼을 클릭합니다.
[ 새 앱 설치 ] 버튼을 클릭합니다.
자신의 GitHub 계정을 찾아 클릭합니다.

이 단계에서 스프린트 소스 코드를 fork한 리포지토리를 찾아서 선택해야 합니다. Only select repositories 체크 후, Select repositories 토글을 클릭하고 '깃헙계정/레포지토리명'으로 검색하여 리포지토리를 찾아 선택합니다. [ Install ] 버튼을 클릭합니다.

 

생성한 GitHub 앱을 선택한 뒤, [ 연결 ] 버튼을 클릭합니다.

리포지토리 이름과 해당 리포지토리의 master 브랜치를 선택한 뒤, [ 다음 ] 버튼을 클릭합니다.

빌드 단계에서는 CodeBuild 프로젝트를 생성합니다. 소스 단계를 통해 전달받은 코드를 테스트하거나 빌드하여 배포 단계로 전달하는 역할을 합니다.
[ 프로젝트 생성 ] 버튼을 클릭합니다.
프로젝트 이름은 자유롭게 짓습니다.

환경 이미지를 선택할 시 Ubuntu 운영체제를 선택합니다. 다른 운영체제 선택 시 터미널 명령어가 buildspec.yml 파일에 담긴 명령어가 정상적으로 작동하지 않을 가능성이 있습니다. 이미지의 버전은 항상 최신 버전을 이용합니다.

로그 파일을 저장하는 서비스로 CloudWatch 혹은 S3를 이용할 수 있습니다. S3에는 정적 웹 호스팅을 위한 버킷이 이미 생성되어 있습니다. 버킷의 수가 많아지면 과금이 될 가능성이 다소 커질 수 있기에, CloudWatch 서비스를 빌드 출력 로그 저장을 위한 서비스로 선택하여 리소스를 분산합니다.

모든 과정이 완료되면, [ 다음 ] 버튼을 클릭하여 다음 단계로 이동합니다.

배포 스테이지 단계에서는 빌드 과정 후 최종적으로 만들어진 결과물이 전달 및 반영됩니다. 배포 공급자로 S3를 선택합니다.

실습 전에 생성한 버킷 이름을 찾아 선택합니다. 배포하기 전에 파일 압축 풀기 옵션을 체크 표시하지 않으면 빌드 결과물이 정상적으로 전달되지 않습니다. 배포하기 전에 파일 압축 풀기 옵션을 체크 표시한 뒤, [ 다음 ] 버튼을 클릭합니다.

각 스테이지에 필요한 서비스를 선택하는 작업이 끝나면 [ 파이프라인 생성 ] 버튼을 눌러 마무리 작업을 진행합니다.

파이프라인 생성이 완료되면 CodePipeline 서비스에서 자동으로 배포 과정을 진행합니다. 모든 과정이 성공적으로 진행되면 슬라이드에 보이는 것처럼 초록색 체크 표시가 되어 있는 것을 확인할 수 있습니다. 생성한 S3 버킷의 엔드포인트 주소로 접속하여 정상적으로 페이지가 보이는지 테스트합니다.

[ 안내 ] S3 서비스에 접속하면 'codepipeline'으로 시작하는 버킷이 생성된 것을 확인할 수 있습니다. 이는 지극히 정상적이므로 걱정하실 필요가 없습니다. 해당 버킷은 무시하셔도 좋습니다.

만약 빌드 과정에서 '실패' 메시지가 보일 경우 어떻게 해야 할까요? 이 경우 빌드 출력 로그를 확인하여 문제점을 찾아야 합니다. 빌드 로그 파일을 보는 방법은 다음 슬라이드에서 알아보겠습니다.