ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [DevOps] Code pipeline에 ECS 배포하기
    클라우드/DevOps 2023. 8. 6. 20:54

    1. 배포할 이미지 생성

    - Docker를 이용해서 image로 만든다음 ECR에 push함

    - maven 프로젝트라, dockerfile 내에서 mvn package를 통해 프로젝트 빌드함

    - docker build -t home . -> docker push...

    - docker build를 하면 target 디렉토리 아래 jar파일이 떨어짐 (jar 파일 이름은 pom.xml에서 생성) 

    - 이때 이 ecr에 권한을 추가해줘야함

    ecr:BatchCheckLayerAvailability
    ecr:BatchGetImage
    ecr:CompleteLayerUpload
    ecr:GetDownloadUrlForLayer
    ecr:InitiateLayerUpload
    ecr:PutImage
    ecr:UploadLayerPart

    2. code commit -> github

    - github에 해당 파일들 올려놓기 -> 파일들이 변경될때마다 code pipeline이 실행될 것이다

    - 내 github연결

    3. code build

    - build할 이미지 선택 -> 내가 만든 도커 이미지에서도 빌드할 수 있음

    - 환경변수를 사용하면 buildspec.yml의 파일들내의 변수들을 쉽게 바꿀 수 있음 

    - 저 권한이 있음을 꼭 체크해야함...!!!!! 안그러면 명령어가 작동이 안됨 

    - buildspec.yml을 통해 code build가 진행됨

    4. Code Deploy -> ECS

    - 미리 만들어둔 클러스터, 서비스 , 작업 이용해서 띄우기

    - 클러스터 : 컨테이너를 실행하는 가상 환경

    - 작업: 각 컨테이너를 구성함 -> 이미지를 설정하고, cpu memory설정, 포트매핑

    - 서비스 : 작업정의를 기반으로 작업을 실행함, 서비스를 통해 컨테이너의 스케일링, 로드밸런싱 안정적인 배포등 관리함 

    -> 서비스는 컨테이너를 실행하는 기본 단위로 클러스터 내에서 여러 인스턴스로 확장 가능

    https://cherrypick.co.kr/deploy-ecs-fargate-with-aws-codepipeline/

     

    AWS CodePipeline을 이용한 ECS Fargate 배포하기

    예전부터 인프라 구축에 대한 관심이 많았지만 어떤 프로젝트에 어떤 기술로 어떻게 적용해야 할지를 몰라 관련 기술에 대한 글만 보고 넘기는 경우가 많았다. 그러나 최근에 클라우드 인프라

    cherrypick.co.kr

     

Designed by Tistory.