Aws

Codebuild로 ECR 업로드 하기

wngnl-dev 2024. 4. 13. 20:01

Codecommit

2023.09.30 - [Aws] - Codecommit에 Push 하는 방법

위의 블로그를 참고해서 Codecommit에 파일을 업로드 해줍니다.

Codecommit에는 "Dockerfile", "buildspec.yml"과 dockerfile에서 사용할 파일들을 업로드 해줍니다.

 

Code Build 권한 생성

IAM - Codebuild - Administartoraccess

 

buildspec.yml

더보기
version: 0.2

phases:
  pre_build:
    commands:
      # CodeCommit 저장소에서 소스 코드를 가져옵니다.
      - echo "Cloning source code from CodeCommit..."
      - <클라이언트 인증>
      - MY_ECR=<ECR URI>
      - docker_img_name=<도커 이미지 이름>

  build:
    commands:
      # Docker 이미지 빌드
      - echo "Building Docker image..."
      - docker build -t $docker_img_name .
  post_build:
    commands:
      # Docker 이미지를 Amazon ECR에 푸시
      - echo "Pushing Docker image to Amazon ECR..."
      - docker tag $docker_img_name:latest $MY_ECR:<태그>
      - docker push $MY_ECR:<태그>  # 이미지를 ECR에 푸시합니다

 

클라이언트 인증은 Ecr에서 "푸시 명령 보기" 의 1번을 복사해서 작성해줍니다.

my_ecr은 ecr의 URI

docker_img_name은 이미지의 이름을 작성해줍니다.

 

기타..

더보기

ECS Service 강제 업데이트 하기

LINK

aws ecs update-service --cluster <ECS cluster 이름> --service <SVC 이름> --force-new-deployment

 

ECR 이미지 자동으로 스캔한기

aws ecr start-image-scan --repository-name <ECR 이름> --image-id imageTag=<ECR Img 태그>

 

Codebuild에서 Build를 생성할때

 

"환경" - "도커 이미지를 빌드하거나 빌드의 권한을 승격하려면 이 플래그를 활성화합니다."

활성화 해줘야 합니다.