-
AWS EC2 - CodeDeploy 연동 설정IT/SpringBoot&AWS 2022. 5. 14. 16:42
참고 도서 : 스프링 부트와 AWS로 혼자 구현하는 웹 서비스
기본 흐름
- repository인 github에 소스가 커밋/푸시되면, github이 Travis CI로 트리거를 걸어 build, test, notify(slack, email, etc ..) 완료하게 된다.
- build 결과인 jar 파일은 일종의 파일 서버 역할을 하는 S3로 전달
- 이후 실제 배포를 CodeDeploy를 통해 배포 요청을 하면 S3에 저장된 jar 파일을 EC2 서버로 배포하게 된다.
각 시스템 간 연동이 필요한데
* github - Travis CI 간 연동
ㄴ github 에 .travis.yml 설치하므로써 트리거를 걸어줌
* Travis CI - AWS S3 간 연동
ㄴ .travis.yml에 빌드 후 jar 파일을 S3로 올릴 수 있도록 설정함
( 사전에 S3 버킷을 생성하고 .travis.yml 에는 S3에 접속하기 위한 ACCESS_KEY 및 SECRET_KEY를 등록함 )
* CodeDeploy - EC2 간 연동
ㄴ EC2 에 CodeDeploy 가 배포를 할 수 있도록 역할 등록 (using IAM)
ㄴ EC2 에 CodeDeploy 연동을 위한 에이전트 설치
ㄴ CodeDeploy 생성
앗, 그런데 에이전트 설치 시 아래와 같은 메시지가 나타난다.
[ec2-user@ip-172-31-45-74 ~]$ aws s3 cp s3://aws-codedeploy-ap-northeast-2/latest/install . --region ap-northeast-2
download: s3://aws-codedeploy-ap-northeast-2/latest/install to ./install
[ec2-user@ip-172-31-45-74 ~]$ ll
합계 20
drwxrwxr-x 3 ec2-user ec2-user 93 5월 13 21:47 app
-rw-rw-r-- 1 ec2-user ec2-user 17482 5월 15 2021 install
[ec2-user@ip-172-31-45-74 ~]$ chmod +x ./install
[ec2-user@ip-172-31-45-74 ~]$ ll
합계 20
drwxrwxr-x 3 ec2-user ec2-user 93 5월 13 21:47 app
-rwxrwxr-x 1 ec2-user ec2-user 17482 5월 15 2021 install
[ec2-user@ip-172-31-45-74 ~]$ sudo ./install auto
/usr/bin/env: ruby: No such file or directory위 에러는 ruby 가 설치되어 있지 않아 발생한 것으로.. ruby를 설치해주면 된다.
sudo yum install ruby
참고 URL
- https://meorimori.tistory.com/89
- https://seongbindb.tistory.com/6
- https://coder-question-ko.com/cq-ko-blog/27700
'IT > SpringBoot&AWS' 카테고리의 다른 글
nginx를 사용한 무중단 배포 환경 구성 (0) 2022.05.15 AWS EC2 에 tree 설치하기 (0) 2022.05.15 Travis CI로 빌드하기 (0) 2022.05.14 소셜 로그인 - OAuth 2.0 구글API 등록 오류 (0) 2022.05.14 MySQL(MariaDB) 에러 해결 방법 - No database selected. (0) 2022.05.13