
지속적 통합
모든 개발자가 개발한 코드를 공유 리포지토리에 하루에도 여러번 코드를 커밋하고 병합하는 것
지속적 전달
개발팀이 짧은 주기로 소프트웨어를 개발하고 언제든지 운영환경으로 안정적으로 배포하는 것
클라우드에서 자산을 비공개로 저장하여 관리하는데 사용할 수 있도록 AWS에서 호스팅되는 버전 관리 서비스
1) CodeCommit 대시보드의 리포지토리 클릭 -> 리포지토리 생성 버튼 클릭

2) 리포지토리 이름 설정 후 생성 버튼 클릭

3) HTTPS(GRC) 탭에서 리포지토리 복제 URL을 복사하여 사용가능

클라우드상의 완전 관리형 빌드 서비스

1) CodeBuild 대시보드에서 프로젝트 생성 버튼 클릭

2) 프로젝트 이름, 소스 공급자, 리포지토리 설정

3) 서비스 역할 선택(없으면 새로 만들기)

4) Buildspec에 명령 삽입 -> 빌드 프로젝트 생성 버튼 클릭

5) 빌드 프로젝트 생성 완료!

6) 브랜치 생성하는 법 -> 빌드 프로젝트 생성시 브랜치를 설정할 수 있는 상태가 되었음
CodeCommit에서 리포지토리를 선택하고 파일 생성 or 기존파일이 있다면 파일 업로드를 클릭하여 repo에 파일을 추가해준다

코드를 입력해주고 파일 이름, 작성자 이름, 이메일 주소, 커밋 메시지를 채워주고 변경 사항 커밋 클릭

리포지토리에 파일이 커밋된 것을 확인한다.

해당 리포지토리의 브랜치에 들어가서 브랜치 생성 버튼 클릭

브랜치 이름과 main 브랜치를 설정하고 브랜치 생성 버튼 클릭

main 브랜치 외에 새로 생성한 브랜치 확인!

Amazon EC2 인스턴스, 온프레미스 인스턴스, 서버리스 Lambda 함수 or Amazon ECS 서비스로 애플리케이션 배포를 자동화하는 배포 서비스
우선 CodeDeploy 배포 그룹 생성시 서비스 역할에 ARN이 표시되지 않는다면, IAM 역할을 올바르게 생성하는 과정을 먼저 수행하면 됩니다.
IAM 역할 생성
1) IAM 대시보드에서 역할 생성 버튼 클릭 후 AWS 서비스 선택

2) 정책 연결

3) 역할 이름 입력 후 역할 생성 버튼 클릭

CodeDeploy 배포 그룹 생성시 로드 밸런서나 타겟 그룹을 반드시 지정해야하므로 미리 설정하고 하는 것을 추천
로드 밸런서 생성 (ELB)
1) EC2 대시보드에서 로드 밸런서 생성 버튼 클릭

2) 로드 밸런서 유형 선택

3) 로드 밸런서 이름 설정

4) VPC 설정 및 가용영역(최소 2개 이상이 안정적임)

5) 설정한 내용 한번 더 확인하고 로드 밸런서 생성 버튼 클릭하면 완료

타겟 그룹 생성시 EC2 인스턴스가 있어야함!!(이것도 미리 세팅,, 아니면 타겟 그룹 생성하다가 '대상 그룹 생성' 누르고 만들어도 되고)
타겟 그룹(대상 그룹) 생성
1) EC2 대시보드에서 대상 그룹 생성 버튼 클릭 -> 대상 유형 선택, 대상 그룹 이름 설정 -> 대상 그룹 생성 버튼 클릭

2) 생성된 대상 그룹에서 대상 등록 버튼 클릭

CodeDeploy 애플리케이션 생성 및 배포 그룹 생성
1) CodeDeploy 대시보드에서 애플리케이션 생성 버튼 클릭

2) 애플리케이션 이름, 컴퓨팅 플랫폼 설정 후 애플리케이션 생성 버튼 클릭

3) 애플리케이션 생성 완료! -> 배포 그룹 생성 버튼 클릭

4) 배포 그룹 이름, 서비스 역할, 환경 구성 등 설정


빠르고 안정적인 애플리케이션 및 인프라 업데이트를 위해 릴리스 파이프라인을 자동화하는데 도움이 되는 완전 관리형의 지속적 전달 서비스
1) CodePipeline 대시보드에서 파이프라인 생성 버튼 클릭

2) 생성옵션 선택

3) 파이프라인 설정 선택(파이프라인 이름, 서비스 역할 등)

4) 소스 스테이지 추가(소스 공급자, 리포지토리 이름, 브랜치 이름 등)


5) 빌드 스테이지 추가(빌드 공급자, 프로젝트 이름, 환경변수 등)

6) 배포 스테이지 추가(배포 공급자, 애플리케이션 이름, 환경 이름 등)

7) CodePipeline 생성 완료!
