티스토리 뷰
프로젝트 환경
- java11
- Spring boot
- Gradle
프로젝트 파일 내에 appspec.yml 파일 생성 후 아래와 같이 작성
version: 0.0
os: linux
files:
- source: /
destination: /home/ec2-user/build/
위 코드는 Code build/ S3 / Github 등을 통해서 받은 전체 파일(source: / )들을 /home/ec2-user/build/ 로 옮기겠다는 의미
이후, ec2에 /home/ec2-user/build 디렉토리를 생성하자!
Code Deploy 생성하기
AWS로 돌아가 IAM 서비스에서 [역할] - [역할 만들기]에서 사용 사례에 'CodeDeploy' 검색 후 설정
간단히 이름 설정 후 역할 생성
역할이 생성된 것을 확인
다시 AWS에서 CodeDeploy 서비스 검색 후 이동
[애플리케이션] - [애플리케이션 생성] 클릭
이름 설정 후 '컴퓨팅 플랫폼'은 'EC2/온프레미스' 선택
애플리케이션 생성 후, 해당 애플리케이션을 눌러 상세 페이지로 이동하여 수정 작업 진행
서비스 역할에 위에서 만든 역할 'ec2-codeDeploy'을 서비스 역할에 선택
배포 유형 선택
진행 중인 프로젝트에서 '블루/그린' 유형을 선택한다고 했는데, 일단 테스트 진행 중이니 '현재 위치'로 선택
환경 구성은 'Amazon EC2 인스턴스'로 설정하고 태그에 의미있는 값 설정
로드밸런싱 활성화 체크 해제
아래와 같이 배포 그룹 생성 완료
Code Deploy 실행
배포 그룹 클릭 한 후 우측에 [배포 생성] 클릭
[애플리케이션을 GitHub에 저장] 클릭 후 자신의 Github 계정을 적은 뒤 [Github에 연결] 선택하면 자동으로 OAuth2가 진행됨
인증 진행
인증에 성공 뒤 배포할 프로젝트의 커밋 내역을 보고, 배포할 커밋 ID를 복사해둔다.
이후 배포할 레포지토리 이름과 위에서 복사한 Commit Id를 기입한다.
추가 배포 동작 설정에 '배포 실패' 선택한 후 [배포 만들기]
과연,, 두둥
실패!
내역을 살펴보니...
확인해보니 이전에 만든 EC2 인스턴스가 다 사라졌다... 이게 무슨 일이지.. 다시 생성하고 재시도 해봐야겠다..
국가 선택을 잘못해서 오류가 났었다!! 다시 한국으로 설정하고 애플리케이션을 새로 만들었다..
어쩐지 이 부분에서 값 부분에 인스턴스가 안떠서 임의로 적은 것인데. 멍청한 짓이었다.
몇분 정도 기다리니 배포가 실패했다고 한다.
오류는 아래와 같다.
하단으로 내려서 View events를 클릭하여 더 상세하게 확인했다.
BeforeInstall에서 실패했고 아래와 같은 로그를 친절하게 띄워주었다.
CodeDeploy agent was not able to receive the lifecycle event. Check the CodeDeploy agent logs on your host and make sure the agent is running and can connect to the CodeDeploy server.
음.. CodeDeploy agent logs를 확인해보라고 한다.
EC2 서버에서 해당 로그를 확인하기 위해 이동했다!
codedeploy-agent.log의 위치는 루트 디렉토리에서 아래와 같다.
var/log/aws/codedeploy-agent/codedeploy-agent.log
열어보니 아래와 같은 로그가 엄청 많이 있었다..
차근차근 읽어보니 이런 문구가 있었다!
The CodeDeploy agent did not find an AppSpec file within the unpacked revision directory at revision-relative path \\\"appspec.yml\\\".
생각해보니 프로젝트 내에 appspec.yml 파일을 생성해놓고 push를 안해줘서 깃허브 레포지토리엔 해당 파일이 존재하지 않았다.
Create appspec.yml을 push 한 후 다시 진행하니 배포에 성공했다!
다시 EC2로 돌아와 build 파일에 Github에 올라간 프로젝트 파일들이 잘 받아졌는지 확인해보자!
성공!!!!
'기본 지식' 카테고리의 다른 글
[Spring] Active profiles 변경 (0) | 2023.03.16 |
---|---|
[AWS] EC2 HostName 변경하기 (0) | 2023.03.04 |
[AWS] Code Deploy 설정하기 (0) | 2023.03.03 |
[Linux] IO Redirection (0) | 2023.02.06 |
[기본] 비트 연산자 (0) | 2022.03.22 |
- Total
- Today
- Yesterday
- C++
- Network
- hoppy
- Spring
- TopologicalSort
- 위상정렬
- configuration
- db
- codedeploy
- Singleton
- Java
- S3
- 자료구조
- 안드로이드
- aws
- 소셜로그인
- HTTP
- Test
- REST
- solid
- dijkstra
- 알고리즘
- Android
- IntelliJ
- xml
- mybatis
- Programming
- API
- BeanDefinition
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |