-
AWS CodeCommit 설정하기CloudEngineering (AWS)/Code Series 2021. 7. 11. 20:12
개요
MSP 업무를 진행하면서, 엔지니어들의 반복적인 작업을 줄이고 수 많은 고객사를 관리하는 데 편리하도록 자동화 웹사이트를 구축했는데, 혼자서 개발을 하고 build 하고 도커를 말아올리고 EKS에 배포하는 작업이 너무 번거롭고 힘들어서 같이 개발할 수 있으며 git push만 으로 자동 배포가 되는 CI/CD 를 구축했다.
이번에는 CI/CD 중 가장 앞단의 CodeCommit에 대해 다뤄보고 나중에 기회가 되면 구축한 CI/CD 전체에 대한 글을 올리려고 한다.
Code Commit 이란?
CodeCommit은 프라이빗 Git 리포지토리를 호스팅하는 안전하고 확장 가능한 소스 관리형 서비스다.
주로, 오픈소스 프로젝트인 경우에는 Github나 Gitlab등을 많이 사용하는데 AWS에서도 동일한 기능을 가진 저장소로 Code Commit 서비스를 제공한다.
Github와는 다르게 저장소가 암호화되기 때문에 보안적인 측면에서도 우수하며 특정 요청 수 밑으로는 무료이기 때문에 큰 프로젝트가 아니라면 부담없이 사용이 가능하다.
[1] https://docs.aws.amazon.com/ko_kr/codecommit/latest/userguide/welcome.html
[2] https://aws.amazon.com/ko/codecommit/pricing/
CodeCommit 설정하기
CodeCommit에 연결하는 방법은 여러가지가 있지만, 나는 Git 자격 증명을 사용하여 HTTPS로 연결했다.
IAM 계정을 생성한다. 현재 사용하고 있는 User도 좋고 CodeCommit만을 사용 할 용도의 User를 사용해도 좋다.
보통 협업을 목표로 사용하는 서비스 기에 각 User마다 아래의 자격증명을 생성하는 것을 추천한다.
사용자 보안 자격 증명 탭에서 AWS CodeCommit에 대한 HTTPS Git 자격 증명 - 자격증명 생성 버튼을 눌러 생성한다.
자격 증명은 AccessKey와 같이 발급 받은 후 다시 복구 할 수 없으므로 자격 증명 다운로드 하여 관리하거나, 메모장에 적어둔다.
우선, Local 시스템에 Git이 설치 되어있어야 한다. Git 설치를 위해서는 Git 다운로드와 같은 웹 사이트를 권장하고 Windows 와 Mac에 따라 설치 방법이 다르니 구분이 필요하다.
위와 같이 리포지토리에서 URL 복제를 눌러 HTTPS 주소를 복사한다.
Git clone 명령어를 사용해서 my-demo-repo 라는 이름의 로컬 저장소로 복사한다.
git clone https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo
위에서 복사한 리포지토리 URL 복제한 부분과 생성할 폴더명을 지정하여 아래와 같이 Local PC에서 git 복제한다.
PS C:UsersProjects> git clone [REPO HTTPS URL] [REPO_NAME]
Cloning into '[YOUR_REPO]'...
remote: Counting objects: 375, done.
Receiving objects: 100% (375/375), 8.61 MiB | 5.18 MiB/s, done.
Resolving deltas: 100% (63/63), done.
PS C:UsersProjects> cd .[REPO_NAME]
PS C:UsersProjects\[REPO_NAME]>
처음 접속하는 경우 위와 같이 리포지토리에 대한 사용자 이름과 암호를 묻는 메시지가 표시되는데, 이때 이전에 저장해 두었던 자격증명의 사용자 이름과 비밀번호를 각각 넣어주면 된다. 연결이 되면 위와 같이 REPO_NAME이라는 폴더 생성과 동시에 codecommit 주소에 대한 자격증명이 로컬에 등록되며 레퍼지토리 관리가 가능하게 된다.
[3] https://docs.aws.amazon.com/ko_kr/codecommit/latest/userguide/getting-started.html