EKS 환경에서 CI/CD 구축하기 (1)

수정일 금, 5월 6, 2022 시간: 10:28 PM

들어가며

MSP 업무를 진행하면서, 엔지니어들 반복적인 작업을 줄이고 수 많은 고객사를 관리하는 데 편리하도록 자동화 웹사이트를 구축했는데요, 

혼자서 개발을 하고 build 하고 도커를 말아올리고 EKS 배포하는 작업이 너무 번거롭고 힘들어서 같이 개발할  있으며 git push 으로 자동 배포가 되는 CI/CD 환경을 구축했습니다

 

아래는 TO-BE 구성도여서 Slack 알람 연동을 제외하고 참고해주시면 되겠습니다. Slack 연동은 추후에 다시 업데이트하겠습니다.

Quasar CI/CD -7éE 
2. 
3. 
4. 
6. 
7. 
8. 
9. 
10. 
Local Origin branch Git push 
CodeCommitOllA-l Lambda 
Lambda-el Jenkins pipeline 
Jenkins APIGateway CilOlEl 
APIGateway91 Lambda 
SlackOilAi Admin 
Jenkins pipeline 
Quasa Build Docker Image 
Image ECR 
Image EKS ClusterCNl 
Git push 
Git Clone 
Jenkins 
Build & Upload 
Lambda 
• Jenkinsel Pipeline* Lambda 
•CI/CD Lambda 
Git users 
Admin 
CodeCommit 
Sla 
Lambda 
Call Jenkins AP/ 
Lambda 
Request Approval 
API Gateway 
Lambda 
ECR 
EKS Cluster

 

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 자격 증명 - 자격증명 생성 버튼을 눌러 생성합니다.

IAM 콘솔에서 Git 자격 증명 생성

 

자격 증명은 AccessKey와 같이 발급 받은  다시 복구   없으므로 자격 증명 다운로드 하여 관리하거나,

 기억하셔야 합니다.

 

 

우선적으로, Local 시스템에 Git 설치 되어 있어야 하는데요, Git 설치를 위해서는 Git 다운로드와 같은 웹 사이트를 권장합니다.

Windows  Mac 따라 설치 방법이 다르니 구분 하셔야 합니다.

 

O 
Monthly_Report 
Bespin_SREProject 
URL 
HTTPS 
O HTTPS 
SSH 
61 SSH 
c 
HTTPS(GRC) 
61 HTTPS(GRC)

 

 

위와 같이 리포지토리에서 URL 복제를 눌러 HTTPS 주소를 복사합니다.

 


Git clone 명령어를 사용해서 로컬 저장소와 연동을 할 수 있습니다.


아래는 my-demo-repo 라는 이름의 로컬 저장소로 복사할 수 있다는 내용인데요, 저희가 생성한 Repo를 복사하려면 아래와 같이 진행하시면 됩니다.

 

git clone https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo

 

PS C:\Users\Projects> git clone https://git-codecommit.ap-northeast-2.amazonaws.com/v1/repos/Bespin_SREProject SREProject

 

Cloning into 'SREProject'...

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:\Users\Projects> cd .\SREProject\

PS C:\Users\Projects\SREProject> 


처음 접속하는 경우 아래와 같이 리포지토리에 대한 사용자 이름과 암호를 묻는 메시지가 표시되는데요이때 이전에 저장해 두었던 자격증명의 사용자 이름과 비밀번호 각각 넣어주시면 됩니다

 

Windows 
Git Credential Manager for Windows 
Enter your credentials for https://git-codecommit.ap- 
northeast-2.amazonaws.com/. 
sanghyeon.park • x 
x

 

연결이 되면 SREProject라는 폴더 생성과 동시에 codecommit 주소에 대한 자격증명이 로컬에 등록되며 레퍼지토리 관리가 가능하게 됩니다.

 

관련 문서는 아래 링크를 참고해주세요.

https://docs.aws.amazon.com/ko_kr/codecommit/latest/userguide/getting-started.html


이로써, AWS CodeCommit 과의 연동은 완료되었습니다. 다음에는 ECR 접속 방법과 Jenkins 서버 초기 구성까지 알아보도록 하겠습니다.

감사합니다.

아티클이 유용했나요?

훌륭합니다!

피드백을 제공해 주셔서 감사합니다.

도움이 되지 못해 죄송합니다!

피드백을 제공해 주셔서 감사합니다.

아티클을 개선할 수 있는 방법을 알려주세요!

최소 하나의 이유를 선택하세요
CAPTCHA 확인이 필요합니다.

피드백 전송

소중한 의견을 수렴하여 아티클을 개선하도록 노력하겠습니다.