🌱 오늘의 주제 : CI/CD 구축하기 #1 ( Github Actions, S3, Code Deploy, EC2)
🌱 CI/CD 구조
- 특정 브랜치에 Push, 또는 Merge 동작을 수행합니다.
- Github Actions에서 push 혹은 merge를 감지하고 정해진 Action을 수행합니다.
- Update된 코드를 바탕으로 Build와 Test를 수행합니다.
- 코드를 압축하여 zip파일을 생성합니다.
- S3에 zip파일을 업로드합니다.
- Code Deploy에 배포 요청을 내립니다.
- S3로부터 zip파일을 받습니다.
- 지정한 EC2 인스턴스에 애플리케이션 파일을 전달합니다.
- EC2 인스턴스에서 쉘 스크립트를 실행함으로써 배포를 완료합니다.
🌱 CD(Continuous Delivery, Continuous Deployment) - S3
- Code 를 AWS에 옮기기 위해 AWS Object Storage 인 S3 버킷을 생성합니다.
- IAM 사용자 생성
Actions Runner를 aws 서비스에 접근 가능한 상태로 만들기 위해선 AWS 계정에 대한 ACCESS TOKEN이 필요합니다.
따라서, IAM 사용자를 생성하고 Actions에서 사용할 서비스인 S3와 CodeDeploy에 대한 모든 권한을 허용해주어야합니다.
S3FullAccess, CodeDeployFullAccess 를 선택하여 해당 서비스에 대한 모든 권한을 부여합니다.
- 액세스 키 생성
aws - IAM - 보안 자격 증명에서 엑세스 키를 생성합니다.
Actions 에서 AWS 서비스에 접근할 수 있도록 프로젝트 Repository의
Settings - Secrets and variables - Actions - New repository secret 순으로 접근하여
Repository Secret에 IAM 사용자 액세스 키 ID와 비밀 액세스 키를 저장합니다.
🌱 EC2
- ec2 인스턴스를 생성 후 IAM 역할을 수정합니다.
- IAM 역할을 구분할 수 있는 이름과 설명을 작성하고 S3와 CodeDeploy에 대한 권한을 부여합니다.
다음 포스팅에서 이어집니다.
https://dbfl720.tistory.com/867
참고
'DevOps' 카테고리의 다른 글
Types of Could Computing (0) | 2024.06.12 |
---|---|
AWS 정리 (0) | 2024.05.24 |
Docker _실행 실전편 (0) | 2023.12.06 |
Docker란?? (0) | 2023.11.24 |
DevOps - CI/CD 구축하기 #2 ( Github Actions, S3, Code Deploy, EC2) (0) | 2023.11.16 |