티스토리 뷰

https://github.com/jojoldu/freelec-springboot2-webservice/issues/806

 

[정보] p.320 ~ 367 CodeDeploy 유료화로 변경되어 GitHubAction으로 변경해 보았습니다. · Issue #806 · jojold

기존에 올라온 질문이 아닌지 먼저 검색해주세요! 가장 자주 나온 제보 P.105 @PutMapping("/api/v1/posts") P.111 Posts.update 어떤 오류인가요? 오류설명: CodeDeploy 유료화로 GitHubAction으로 무료 변경 Github URL:

github.com

 

위의 링크를 보며 CI/CD 파이프라인 구축을 해보았다. 간단한 구조지만 6시간의 사투끝에 성공했다...

 

이번 글에서는 GitHub Actions + AWS S3 + AWS CodeDeploy를 활용하여 CI/CD 파이프라인을 구축하면서 겪었던 오류 및 내가 미숙해서 생긴 여러 상황을 정리해보곘다.


1. GitHub Actions 스크립트의 위치

나는 처음에 아래 사진처럼 레포지토리 아래에 바로 코드관련 파일들이 있는 것이아닌 레포지토리 아래에 폴더를 하나 더 두는 식으로 레포지토리를 구성했었는데 이런 구성에서 GitHub Actions 스크립트를 작성하면 파일안에 .yml 파일이 폴더 밖에 생성되므로 제대로 동작하지 않는다. 

틀린 사진

따라서 폴더를 아래 사진과 같이 풀어해쳐놔야한다. 그러면 ./github/workflows 아래에 스크립트 파일이 생성되고 잘 동작할 것이다.


 

2. CodeDeploy 배포 실패시 로그 확인

GitHub Actions과 S3의 연동 성공으로 S3에는 압축파일이 잘 전달되었지만 이제 CodeDeploy에서 EC2로의 파일 전달이 잘 이뤄지지 않는 경우가 많았고 이에 따라 결과가 실패가 몇번 떴다. 이럴 경우 오류의 원인을 알 수 있는 몇가지 방법이 있는데 소개해 보겠다.

1) 배포ID를 클릭하면 오류내용을 볼 수 있다.

오류 예시

2) EC2에 직접 접속해서 오류 로그 확인하기

cd /opt/codedeploy-agent/deployment-root/4b322f48-36a7-4a16-9351-df01bad74727/{배포ID}/logs

위의 경로로 이동하면 scripts.log 파일이 하나 있는데 해당 파일을 분석하면 오류내용을 확인할 수 있다.

나 같은 경우 실패가 떴을 때의 원인 중 상당수가 CodeDeploy에서 EC2로 파일이 전달되었을 경우 배포 자동화 스크립트가 동작해야하는데 해당 스크립트의 위치를 제대로 입력해주지 않아서 오류가 많이 났다.

 

아래는 내가 겪었던 오류 중 하나이다.

{\"error_code\":5,\"script_name\":\"\",\"message\":\"Script does not exist at specified location:
/opt/codedeploy-agent/deployment-root/4b322f48-36a7-4a16-9351-df01bad74727/
d-ERY8M7GGN/deployment-archive/deploy.sh\",\"log\":\"\"}"}

여러 오류를 겪었지만 대부분의 오류는 GitHub Actions, 또는 appspec.yml(CodeDeploy를 위한 스크립트 .yml파일), deploy.sh(배포 자동화 파일) 등에 코드를 작성할 때 .jar 파일의 위치 문제, 또는 동작하고자 하는 스크립트 파일의 위치 오타 문제가 가장 많았다. 

 

아래는 오류가 났을 경우 체크해봐야할 목록이다(부족할 수도 있습니다.ㅎㅎ)

  1. GitHub Actions 스크립트 파일을 작성할 때 branch 이름을 똑바로 적었는가
  2. S3 버킷의 이름 또는 CodeDeploy의 애플리케이션 이름과 배포 그룹이름을 똑바로 작성했는가
  3. .jar 또는 스크립트의 경로들을 제대로 작성했는가
  4. EC2에 IAM 역할 수정을 한 뒤 재부팅을 했는가
  5. EC2 인스턴스에서 CodeDeploy가 동작하고 있는가

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함