CodeSeries란?

CodeCommit이란?

CodeBuild란?

CodeDeploy란?

CodePipeline이란?

CodeSeries Console에서 구축하기

CodeCommit

CodeBuild

CodeDeploy

CodePipeline

CodeSeries Terraform에서 구축하기

CodeSeries란?

AWS에서 Developer Tools로 분류되어 있는 CodeCommit, Codebuild, CodeDeploy, CodePipeline을 통칭하는 단어

CodeCommit이란?

CodeSeries의 저장소 역할로, VCS를 사용

CodeBuild란?

CodeSeries에서 빌드를 담당하는 서비스로, 저장소로부터 resource를 가져와 buildspec.yml에서 정의된 절차대로 빌드를 진행함

Docker image를 ECR에 저장하기 위한 buildspec.yml

# 버전: 현재는 0.2가 권장사항
version: 0.2

# 빌드 단계별로 원하는 명령 입력
phases:
	# 빌드 전 수행할 명령 입력
  pre_build:
    commands:
      - echo Logging in to Amazon ECR...
      - aws ecr get-login-password --region $AWS_DEFAULT_REGION | docker login --username AWS --password-stdin $AWS_ACCOUNT_ID.dkr.ecr.$AWS_DEFAULT_REGION.amazonaws.com
  # 빌드를 수행할 명령 입력
	build:
    commands:
      - echo Build started on `date`
      - echo Building the Docker image...          
      - docker build -t $IMAGE_REPO_NAME:$IMAGE_TAG .
      - docker tag $IMAGE_REPO_NAME:$IMAGE_TAG $AWS_ACCOUNT_ID.dkr.ecr.$AWS_DEFAULT_REGION.amazonaws.com/$IMAGE_REPO_NAME:$IMAGE_TAG      
  # 빌드 후 수행할 명령 입력
	post_build:
    commands:
      - echo Build completed on `date`
      - echo Pushing the Docker image...
      - docker push $AWS_ACCOUNT_ID.dkr.ecr.$AWS_DEFAULT_REGION.amazonaws.com/$IMAGE_REPO_NAME:$IMAGE_TAG

CodeDeploy란?

EC2 인스턴스, 온프레미스 인스턴스, 서버리스 Lambda 함수 또는 Amazon ECS 서비스로 애플리케이션 배포를 자동화하는 배포 서비스

CodeDeploy에서 배포를 관리하는 사용하는 YAML파일: appspec.yml

version: 0.0
os: linux
files:
  - source: /index.html  #소스 파일 이름
    destination: /var/www/html #서버의 dest 경로에 소스 파일 배포

CodePipeline이란?

AWS CodePipeline은 릴리스 프로세스 단계의 오케스트레이션을 지원

Untitled

1️⃣ 소스 단계

2️⃣ 빌드 단계

3️⃣ Staging 단계

4️⃣ Production 단계

CodeSeries Console에서 구축하기

💡 CodeSeries를 이용한 AWS Lambda 사용 Architecture

Untitled