본문 바로가기
Server & Network/AWS

[AWS] CI/CD 구성(1) - 소스 저장소 CodeCommit

by AustinProd 2022. 4. 24.

AWS 콘솔 환경에서 자동 배포하는 방법을 정리하고자 한다. AWS에서는 소스 코드 관리부터 빌드, 배포를 비롯해 이 과정을 하나의 파이프라인으로 묶어 관리할 수 있는 CI/CD 서비스를 제공한다.

 

각 단계에 대해 간단히 정리하면, Github와 같이 소스 코드의 저장 및 버전 관리를 도와주는 CodeCommit, 소스 코드 빌드를 도와주는 CodeBuild, 빌드된 파일을 서버에 배포하는 CodeBuild, 마지막으로 위 3 단계를 하나로 묶어주는 Pipeline이 있다.

 

이번 포스트에서는 위 개념 중 소스 저장소로서 기능하는 CodeCommit에 대해 알아본다. AWS 콘솔 환경에서 CodeCommit 접근법과 로컬 PC에서 이 원격 저장소를 연동하는 과정을 정리했다.

 

참고 : CodeCommit 서비스를 이용하기 위해선 CodeCommit에 대한 권한이 필요하다. 본문에서 관련 내용을 소개하지만 미리 IAM Role에 AWS CodeCommit Full Access에 대한 권한이 부여된 계정을 준비해두도록 하자.

 

CodeCommit 사용법

  1. AWS CodeCommit에 Repository 생성
  2. 로컬에서 Repostiory 등록
  3. 소스 코드 Push

 

1. CodeCommit에 Repository 생성

AWS 콘솔에서 CodeCommit 을 검색하면 바로 접근할 수 있다. 페이지가 이동되면 Repositories에서 Create repository를 클릭해 소스 저장소 등록으로 넘어가면 된다. 저장소 등록에는 이름과 설명을 입력한다.

 

AWS 콘솔에서 CodeCommit 검색

 

소스 저장소 생성

 

소스 저장소 등록 화면

 

저장소가 성공적으로 등록되면 저장소 주소가 출력된다. 이 주소를 복사해두자.

 

소스 저장소 생성 후 화면

 

2. 로컬에서 Repository 등록

콘솔에서 저장소 생성이 끝나면 업로드할 소스 코드가 저장된 디렉토리로 이동한다. CodeCommit은 Github와 같다고 보면 되기에, Github에 소스를 올리듯 동일하게 작업하면 된다. 자세한 명령어는 아래 코드 블록에 적어두었다.

 

# git 활성화
git init

# git 사용자 등록 (name & email)
git config user.name 사용자명
git config user.email 사용자 계정명

# 저장소 등록 (origin -> CodeCommit 주소 매핑)
git remote add origin 저장소 주소

# 등록 확인
git remote -v
> origin 저장소 주소

 

3. 소스 코드 Push

등록된 CodeCommit 주소로 소스를 밀어 넣을 차례다. 커맨드 라인을 사용한다면 아래와 같이 진행하면 된다. 여기서 주의해야할 점은 AWS에서 소스 업로드 권한(IAM Role)이 필요하다는 점이다. 콘솔에서 IAM을 검색하고, 등록된 사용자가 CodeCommit 접근 권한(AWSCodeCommitFullAccess)이 있는 지 확인하자. 아래 이미지를 참고하면 된다.

 

# 소스 staging
git add .

# 소스 커밋
git commit -m "커밋 메세지"

# 커밋 로그 확인
git log

# 소스 업로드
git push origin master

 

CodeCommit IAM Role

 

소스 업로드에 성공했다면, 아래와 같이 파일이 저장소에 잘 저장된 것을 확인할 수 있다.

 

 

 

CodeCommit에 대한 내용은 AWS IAM 권한과 관련된 부분만 주의하면 쉽게 진행할 수 있다. 이후 포스트에서는 CodeBuild에 대해 정리한다. CodeCommit 저장소에 등록한 코드 S3에 캐싱 데이터와 함께 빌드하는 방법을 알아보자.

댓글