AWS/AWS_Service

[AWS] CI/CD 환경구축(1) - CodeCommit

달콤한달팽이 2020. 11. 9. 12:26
반응형

안녕하세요, 달콤한달팽이입니다.🐌😁


오늘은 AWS를 사용하여 CI/CD 환경을 구축하는 방법을 알아보겠습니다.


CI/CD란?

CI/CD (Continuous Integration/Continuous Delivery)란, 애플리케이션 개발 단계 자동화를 통해 지속적인 통합, 서비스 제공 그리고 배포를 제공하는 방법입니다.

특히, CI/CD는 애플리케이션의 테스트 단계부터 배포에 이르는 라이프사이클 전체에 걸쳐 지속적인 자동화와 지속적인 모니터링을 제공합니다.(이를 CI/CD 파이프라인이라고 부릅니다.)

 

AWS는 이러한 CI/CD 환경 구축을 도와줄 여러 서비스를 지원하며, 오늘부터 차례대로 각각의 서비스에 대해 다뤄볼 예정입니다.

 

CodeCommit이란?

Code Commit이란, AWS에서 제공하는 프라이빗 Git 리포지토리를 호스팅하는 관리형 소스 제어 서비스입니다.

 

즉, AWS에서 사용하는 Git Hub, Git Lab 정도로 생각하시면 될 것 같습니다.AWS에서 제공하는 서비스이므로 타 서비스(ex. CloudTrail, CloudWatch 등과의 연동이 용이하다는 장점이 있습니다!)


1) CodeCommit 생성

AWS 서비스의 CodeCommit을 검색한 후, CodeCommit 탭의 리포지토리 생성을 통해 리포지토리를 생성합니다.

 

생성은 리포지토리의 이름만 설정하면 되므로 매우 간단합니다!

 

리포지토리 생성을 완료하면 아래와 같이 Git 연결을 지원해주는 안내 문구를 확인할 수 있습니다.

(이는 나중에도 확인할 수 있으므로, 어디서 보는지 확인만 하고 우선은 넘어가도록 합시다!)

 

이후 리포지토리 연결 확인을 위해 테스트용 파일(README.md)을 생성해 두었습니다.

 

2) IAM 자격증명 생성

외부에서의 리포지토리 사용을 위해선, IAM User에 대한 Git 자격증명을 통해 인증된 사용자임을 시켜주어야 합니다.

 

IAM User탭에서 HTTPS Git 자격 증명 생성을 통해 간단하게 생성이 가능하며,

이때 자동 생성되는 암호는 처음 생성시에만 확인이 가능합니다.

(만약 암호가 기억나지 않는다면 작업탭에서 암호를 재설정할 수 있으므로 걱정하지마세요!)

 

이후 로컬환경에서 Git 초기화 및 리모트 저장소를 등록합니다.

git init

git clone {HTTPS Repository URL}

 

로컬은 clone 명령어를 실행하기 위해 Git 자격증명을 요구하며, 이때 IAM에서 생성한 자격증명 ID와 PW를 입력합니다.

 

이후에는 git과 동일한 방식으로 사용이 가능하며, 

이번 실습에서는 test.py라는 파일을 리포지토리로 올려보도록 하겠습니다.

git add .

git commit -m "message"

git push origin main

 

이후 CodeCommit을 확인해보면 정상적으로 파일이 올라온 것을 확인할 수 있습니다.

 

3) 히스토리 확인

코드의 변경사항을 확인하고, 이를 버전으로 관리하는 것을 콘솔을 통해서도 확인이 가능합니다.

 

리포지토리의 커밋탭을 통하여 커밋이 된 시점, 변경된 사항, 커밋간 비교 등을 수행할 수있습니다. 

 

지금까지 CI/CD 환경 구성, 그 중 첫 번째 단계인 CodeCommit을 통한 Code를 관리 방법을 알아보았습니다.

다음 시간에는 CodeBuild를 사용해 Code를 Build하는 방법을 알아보도록 하겠습니다.

 

감사합니다!


관련 글

반응형