Home - hoho4190/aws-ec2-cicd-with-github-actions GitHub Wiki
AWS EC2 CI/CD
AWS와 GitHub Actions을 이용하여 AWS EC2에 CI/CD 적용하기
GitHub 저장소에 소스를 Push하면 test, build 후 클라우드 서버에 배포하고 서비스 재시작하기
흐름
GitHub 저장소의 main
브런치에 Push가 발생하면 GitHub Actions에서 아래의 워크플로우가 실행됨
-
gradle build 실행
-
AWS IAM 사용자 엑세스 키로 AWS 인증
-
AWS S3에 파일을 압축하여 업로드
-
AWS CodeDeploy로 S3의 파일을 EC2에 배포
- hook을 이용하여 App 재시작 스크립트 실행
사전 준비
-
배포할 앱
http://IP:8080/
으로 앱 빌드 버전을 리턴하는 간단한 REST API 서버- Spring boot, Gradle, java 1.8
-
AWS EC2
- OS: Amazon linux 2
- 리전: ap-northeast-2(서울)
- user: ec2-user(기본 사용자
/home/ec2-user
그대로) - 보안 그룹: REST API TCP 포트 18080(local)번, 8080(prod)번 인바운드 규칙에 추가
위처럼 생성하였다는 가정 하에 설정 진행할 예정
설정
아래 설정 과정에서
- [인스턴스 이름]을 cicd라고 하겠음
- [앱 이름]을 cicd라고 하겠음