AWS CI/CD: CodePipeline 배포 최종 점검 (8편)
·
AWS/CodePipeline, CICD
저번 포스트에서는 Deploy단계에서 S3에서 이미지를 불러와서 오류가 발생했던 부분을 수정했었다. 이번에는 그 다음에 새롭게 발생한 ECS 실행 오류를 해결한다. 1. 배포오류 (Memory 부족 문제) 1-1. 오류 파악 저번 포스트에 이어서 빌드를 진행했더니 아래와 같이 배포단계에서 무한로딩이 발생했다. 계속 진행중이 떠서 답답해서 ECS 클러스터에 들어가서 확인해 봤다. 아래와 같이 배포에서 실패한 작업이3번이었다. 1-2. 이벤트 메시지 확인 이벤트의 메시지를 확인해봤더니 다음과 같았다. "Amazon ECS가 recipia-member-service 서비스의 요구 사항을 충족하는 컨테이너 인스턴스를 찾지 못했음을 나타낸다." 특히, 가장 근접한 매치인 컨테이너 인스턴스 15ce592c56944..
AWS CI/CD: CodePipeline 배포 오류 수정 (7편)
·
AWS/CodePipeline, CICD
열심히 빌드오류를 수정해서 고쳤다. 근데 근데!! 이번에는 Deploy 배포단계에서 오류가 생겼다 당장 해결해보도록 하자 1. 배포 오류 파악하기 1-1 .오류 파악 아래와 같이 Deploy에서 빨갛게 실패라고 나왔다... 1-2. 아래의 오류가 발생했다. Unable to access the artifact with Amazon S3 object key 'recipia-member-git-n/BuildArtif/IejGhqN' located in the Amazon S3 artifact bucket 'codepipeline-ap-northeast-2-555139989952'. The artifact object key is not found. 1-3. 오류 해석 이 오류는 AWS CodePipeline..
AWS CI/CD: CodePipeline 세 번째 빌드 오류 해결 (6편)
·
AWS/CodePipeline, CICD
저번 포스트에서는 PRE_BUILD단계의 오류를 해결했다. 이번 포스트에서는 그 다음 BUILD 단계에서 발생한 오류를 해결해 보자 1. BUILD단계의 오류 파악하기 1-1. 오류 파악 PRE_BUILD오류를 해결했더니 이번에는 BUILD 에서 오류가 발생했다. 오류 로그를 바로 확인했다. 1-2. 오류 로그 확인 #5 [2/2] ADD build/libs/member-0.0.1-SNAPSHOT.jar member-api.jar #5 ERROR: failed to calculate checksum of ref moby::z5ufilzi940gpc8hp3lj0ypj8: failed to walk /var/lib/docker/tmp/buildkit-mount237631583/build/libs: lstat..
AWS CI/CD: CodePipeline 두 번째 빌드 오류 해결 (5편)
·
AWS/CodePipeline, CICD
이번에는 PRE_BUILD 단계에서 발생한 빌드오류를 해결해 보자 1. 빌드 오류 파악하기 1-1. 오류 파악 열심히 S3 관련 문제를 해결했더니 이번에는 아래와 같은 PRE_BUILD 단계에서 에러가 발생했다. COMMAND_EXECUTION_ERROR: Error while executing command: aws ecr get-login-password --region ap-northeast-2 | docker login --username AWS --password-stdin {ecr 리포지토리 주소}. Reason: exit status 1 1-2. 빌드 로그 분석하기 조금 더 정확히 보기위해 빌드 로그를 확인했다. 아무래도 이번에는 IAM 권한관련 에러인것 같다. (ECR 권한에러) [Cont..
AWS CI/CD: CodePipeline 배포 및 검토 (3편)
·
AWS/CodePipeline, CICD
이번에는 2편에 이어서 Step4 배포 스테이지와 Step5 검토를 작성한다. 1. Step4: 배포 스테이지 추가 1-1. 배포 스테이지 추가 Step3에서 다음을 누른다면 아래와 같은 배포 스테이지 추가 화면으로 이동된다. 1-2. 배포 공급자 선택 배포 공급자 하단의 박스를 눌러서 Amazon ECS를 선택해 준다. 1-3. 배포 스테이지 추가하기 이전에 만든 ECS 클러스터를 선택하고 서비스도 선택한다. 여기서 중요한게 이미지 정의 파일인데 이것때문에 배포시 오류가 발생했다. (배포단계를 설명할 때 오류 해결사항을 적도록 하겠다.) 2. 검토 2-1. 검토하기 이 단계에서는 지금까지 작성한 내용들을 하나하나 검토한다. 4단계까지 전부 확인했을때 문제가 없다면 하단의 "파이프라인 생성" 버튼을 누른..
AWS CI/CD: CodePipeline 빌드 스테이지 추가 (2편)
·
AWS/CodePipeline, CICD
지난번 Step2에 이어서 빌드 스테이지를 추가한다. 1. Step3. 빌드 스테이지 추가 1-1. Step3는 빌드 스테이지 추가이다. 아래와 같은 화면이 나올것이다. 1-2. 빌드 공급자 선택 Jenkins가 아니라 CodeBuild를 사용할것이기 때문에 AWS CodeBuild를 선택한다. 1-3.프로젝트 생성하기 AWS CodeBuild를 선택하면 아래와 같은 화면이 나오는데 여기서 "프로젝트 생성" 버튼을 눌러서 만들어주자 1-4. CodeBuild 빌드 프로젝트 생성하기 아래와 같이 CodeBuild의 빌드 프로젝트를 생성하는 팝업창이 나올것이다. 여기서 먼저 프로젝트의 이름과 설명을 작성한다. 1-5. 환경 설정하기 하단으로 스크롤하면 "환경" 설정이 나온다. 여기서 "관리형 이미지"를 선택..
AWS CI/CD: CodePipeline 기본 설정 (1편)
·
AWS/CodePipeline, CICD
CodePipeline 시리즈는 지금까지 열심히 만든 ECR, ECS를 활용하여 CI/CD를 구현해 보는 시리즈이다. CodePipeline으로 CI/CD를 구축하는 과정에서 많은 우여곡절이 있었지만 이를 모두 순서대로 기록하기에 글을 다 읽어보면서 필요한 부분만 따라하고 정보를 가져갔으면 좋겠다. 사전사항으로는 ECR을 생성하고 ECS 서비스까지 한번 성공적으로 기동시킨다음 CodePipeline을 만드는 것을 추천한다. ECR 생성하기 2023.10.27 - [AWS] - AWS ECR로 Docker 이미지 관리하기: 완벽 가이드 AWS ECR로 Docker 이미지 관리하기: 완벽 가이드 이번 포스트에서는 ECS를 사용하기 전에 꼭 필요한 Docker 이미지를 관리해주는 DockerHub의 AWS버전..
Pipeline 방식으로 Jenkins구축 - SpringBoot CI/CD 구축
·
DevOps
Pipeline 방식으로 젠킨스를 구축해 보자 이번 포스트에서는 설정과 사용 방법이 좀 더 복잡하지만 커스텀하기 좋고 세밀한 구성이 가능한 Pipeline 방식으로 Jenkins의 CI/CD를 모두 구현해보도록 한다. 이번에 적용시킬 CI/CD는 SpringBoot이다. 1. Jenkins CI(지속적 통합)를 위한 Script 추가 작성하기 1-1. 우선 Jenkins 대시보드 좌측 상단의 “새로운 Item” 버튼을 클릭해서 들어간다. 1-2. 아래와 같은 창이 나올것이고 여기서 Item의 이름을 적고 하단에서는 Pipiline을 선택한다. 1-3. Pipeline 작성하기 아이템을 생성하면 아래와 같이 생성한 파이프라인의 설정 페이지로 넘어갈 것이다. 위의 설정들은 skip하고 아래로 스크롤을 내려서..