[aws] CodeCommit 개념 및 사용법

2022. 6. 26. 23:22✅ STUDY/AWS

안녕하세요 :)

오늘은 AWS codecommit에 대해 설명드리려 합니다.


AWS CodeCommit

AWS CodeCommit

CodeCommit은 프라이빗 Git 리포지토리를 호스팅하는 안전하고 확장성이 뛰어난 관리형 소스 제어 서비스입니다.

  • AWS에서 호스팅하는 완전 관리형 서비스: CodeCommit은 높은 서비스 가용성과 내구성을 제공하고 자체 하드웨어 및 소프트웨어를 관리하는 관리 오버헤드를 제거합니다. 프로비저닝하고 확장할 하드웨어가 없으며 설치, 구성 및 업데이트할 서버 소프트웨어가 없습니다.
  • 코드를 안전하게 저장: CodeCommit 리포지토리는 저장 및 전송 중에 암호화됩니다.
  • 코드에서 공동으로 작업: CodeCommit 리포지토리는 사용자가 브랜치에 병합하기 전에 서로의 코드 변경 사항을 검토하고 주석을 달 수 있는 풀 요청을 지원합니다.
  • 버전 관리 프로젝트를 쉽게 확장: CodeCommit 리포지토리는 개발 요구 사항에 맞게 확장할 수 있습니다. 이 서비스는 많은 수의 파일 또는 분기, 큰 파일 크기 및 긴 개정 기록이 있는 리포지토리를 처리할 수 있습니다.
  • 언제든지 무엇이든 저장: CodeCommit은 리포지토리의 크기나 저장할 수 있는 파일 유형에 제한이 없습니다.
  • 다른 AWS 및 타사 서비스와 통합: CodeCommit은 리포지토리를 AWS 클라우드의 다른 프로덕션 리소스와 가깝게 유지하므로 개발 수명 주기의 속도와 빈도를 높이는 데 도움이 됩니다. IAM과 통합되어 다른 AWS 서비스 및 다른 리포지토리와 병렬로 사용할 수 있습니다.
  • 다른 원격 저장소에서 파일을 쉽게 마이그레이션: 모든 Git 기반 리포지토리에서 CodeCommit으로 마이그레이션할 수 있습니다.
  • 이미 알고 있는 Git 도구를 사용: CodeCommit은 Git 명령과 자체 AWS CLI 명령 및 API를 지원합니다.
  • AWS IAM, CloudTrail, CloudWatch와 연동: AWS IAM, CloudTrail, CloudWatch와 연동이 되어, 누가 데이터에 엑세스 할 수 있는지 엑세스 했던 시기 및 위치까지 제어하고 모니터링 할 수 있어 데이터에 대한 보안과 접근을 제어 가능합니다.

[ AWS CodeCommit 사용법 ]


AWS CodeCommit 리포지토리 생성 및 연결

1. AWS CLI 또는 CodeCommit 콘솔을 사용하여 CodeCommit 리포지토리를 생성합니다.

2. 위에서 생성한 리포지토리에 접근 가능하도록 IAM 사용자를 위한 Git 자격 증명을 만듭니다.
- IAM 사용자 생성
- AWSCodeCommitPowerUser 권한 연결
- [보안자격증명] -> [AWS CodeCommit에 대한 HTTPS Git 자격 증명] 생성

3. 개발 머신에서 Git을 사용 하여 CodeCommit 리포지토리의 이름을 지정하여 git clone 을 실행합니다.
- 연결할 로컬 디렉토리에서 codecommit 리포지토리와 연결하기 위해 아래의 명령어를 입력

- 위에서 생성한 IAM HTTPS Git 자격 증명의 User Name과 Password를 입력

4. 개발 머신의 로컬 리포지토리를 사용하여 파일을 수정(추가, 편집 및 삭제)한 다음 git add 를 실행하여 수정된 파일을 로컬로 스테이징합니다. git commit 을 실행 하여 파일을 로컬로 커밋한 다음 git push 를 실행하여 파일을 CodeCommit 리포지토리로 보냅니다.

 

AWS CodeCommit Pull Request

CodeCommit에서도 Pull Request를 할 수 있습니다.
Pull Request란, 개발 브랜치에서 수정한 코드가 있을 때 대상 브랜치로 검토 후 병합해달라는 요청을 의미합니다.
IAM 사용자 이름 또는 위임된 역할로 승인자를 설정할 수 있습니다.

1. 새로운 브랜치를 생성합니다.

2. 새로운 브랜치에서 새로운 파일을 만든 후, git add . - git commit - git push를 진행합니다.

3. CodeCommit 콘솔의 리포지토리에서 풀 요청 생성을 클릭합니다.

- develop 브랜치에서 master 브랜치로 merge를 진행할 것이므로, 아래와 같이 설정 후 풀 요청 생성을 클릭합니다.

- 풀 요청에서 변경사항을 확인할 수 있습니다.

- 대상 브랜치에 풀 요청 병합을 승인할 수 있는 승인 규칙을 생성할 수 있습니다.

- 해당 풀 요청을 root-user IAM 사용자만 merge 할 수 있도록 설정하였습니다. root-user IAM 사용자가 아닌 사용자는 merge 버튼이 보이지 않게 됩니다.

- root-user IAM 사용자 console에서는 아래와 같이 "merge" 버튼이 보이며, merge를 할 수 있습니다.

- 3가지 merge 전략을 선택할 수 있습니다.

- 대상 브랜치(master)에 develop 브랜치의 파일이 merge된 것을 확인할 수 있습니다❗


이상으로 AWS CodeCommit에 대해 알아봤습니다 🎈


참고) https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html#welcome-introducing

 

What is AWS CodeCommit? - AWS CodeCommit

What is AWS CodeCommit? AWS CodeCommit is a version control service hosted by Amazon Web Services that you can use to privately store and manage assets (such as documents, source code, and binary files) in the cloud. For information about pricing for CodeC

docs.aws.amazon.com