IAM을 통해 aws codecommit 사용하기
https://aws.amazon.com/ko/codecommit/
AWS의 서비스중에서 codecommit이라고 불리는 소스코드 관리 서비스가 있습니다
github, bitbucket 이런것들처럼 git 레파지토리를 저장하고 관리해주는 서비스라고 할수 있습니다
그런데 저는 codecommit은 추천하지 않습니다.
우리의 소스코드는 원격지에 저장하는것뿐만 아니라
PR도 생성하고 리뷰도 하고
우리가 github을 사랑하는 많은 이유가 있는데,
codecommit도 기본적으로 대부분의 기능들은 지원해주고 있긴합니다만,
github에 비하면 UI/UX가 한참 뒤떨어져있다고 생각합니다
그래도 아마 codecommit 쓰는 곳들이 계속 있는 것을 보면
aws의 코드빌드나, 파이프라인을 사용하고 있어서 aws의 서비스들로 일원화하려는 의도가 아니었을까 싶네요
(하지만... 코드빌드나 파이프라인은 github도 연동이 가능하니... github을 격하게 추천합니다...)
codecommit의 소스코드를 git clone하기 위해서는 다양한 방법이 있습니다
aws에 직접 로그인하여 권한을 획득한뒤 소스코드를 git clone 할수 있고
ssh 퍼블릭키를 등록하고 키 아이디를 통하여 git clone할수 있습니다
그리고
CodeCommit 액세스에 대한 IAM 사용자를 생성하여
git-remote-codecommit을 통해서도 가능합니다
IAM 사용자를 생성하고 git-remote-codecommit을 이용해봅시다
먼저 IAM에서 사용자를 생성하여 access key id와 secret access key를 획득합니다
aws configure
만약 여러개의 서로다른 권한을 가진 profile이 있거나
내가 멀티 프로젝트를 하고 있어서 여러개의 aws키를 가지고 있다면
aws profile을 사용하여 생성도 가능합니다
aws configure --profile aproject
aws configure --profile bproject
aws configure --profile cproject
이런식으로 말이죠
aws cli 명령어를 실행할때 옵션으로 --profile과 사용할 프로필명을 적으면 해당 프로필에 저장되어있는 access key와 secret을 사용하게 됩니다
다시 이어서
AWS Access Key ID [None]: Type your IAM user AWS access key ID here, and then press Enter
AWS Secret Access Key [None]: Type your IAM user AWS secret access key here, and then press Enter
Default region name [None]: Type a supported region for CodeCommit here, and then press Enter
Default output format [None]: Type json here, and then press Enter
필요한 값들을 입력합니다
pip install git-remote-codecommit
pip 설치후 git-remote-codecommit을 설치합니다
준비는 완료되었습니다 git clone을 해볼께요
git clone codecommit://MyDemoRepo my-demo-repo
codecommit:// 이라는 프로토콜을 사용하여 git clone할 code commit의 레파지토리명을 적어주세요 그리고 뒤에는 복제할 폴더명을 적어주시면 됩니다
git clone codecommit://CodeCommitProfile@MyDemoRepo my-demo-repo
만약 프로필이름을 사용하고 있다면
"codecommit://프로필이름@레파지토리" 이렇게 사용하시면 됩니다