EC2 + RDS + S3 + GitHub Actions를 이용해서 배포 및 CI/CD를 하기 위해 하나씩 정리해보자✏️
2024.10.21 - [⚙️ DevOps] - [AWS/EC2] AWS EC2 + RDS + S3 생성하고 배포하기 #1 EC2
2024.10.28 - [⚙️ DevOps] - [AWS/RDS] AWS EC2 + RDS + S3 생성하고 배포하기 #2 RDS
EC2에 MySQL 설치
EC2 터미널에 접속 후 아래 명령어를 입력해 설치
1. 아래 명령어 입력 후 y 입력
sudo dnf install https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm
2. 아래 명령어 입력 후 y 입력
sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
sudo yum update
3. 잘 설치되었는지 확인
sudo systemctl status mysqld
4. 부팅 시 MySQL 서비스가 자동으로 시작되도록 설정하고 즉시 실행
sudo systemctl enable --now mysqld
5. 아래 명령어 입력 후 password 입력하면 MySQL 명령어를 입력할 수 있다.
mysql -u root -p -h [rds엔드포인트]
예시) mysql -u root -p -h ~~~.ap-northeast-2.rds.amazonaws.com
EC2에서 프로젝트 빌드
1. 프로젝트 파일이 있는 디렉터리로 이동. 나는 app 폴더 내부에 프로젝트 폴더가 생성되어있다.
cd app/my-project
2. ./gradlew에 실행 권한 추가 후 빌드. 아래 세 명령어를 한 줄씩 입력
chmod +x ./gradlew
./gradlew
./gradlew build
3. 빌드 후 생성된 jar 파일을 실행
생성된 jar 파일은 build/libs/ 경로에 생성된다.
nohup java -jar build/libs/OMG_project-0.0.1-SNAPSHOT.jar &
nohup 명령어로 터미널 세션 종료 후에도 애플리케이션이 계속 실행된다. 실행 로그는 nohup.out 파일에 저장된다.
그리고 & 연산자로 애플리케이션이 백그라운드에서 실행된다.
nohup.out 로그 파일 확인하는 명령어는 아래 명령어를 입력하면 된다.
tail -f nohup.out
애플리케이션을 종료하려면 아래 명령어로 애플리케이션 pid를 찾고 [pid]에 찾은 pid를 작성해 kill하면 된다.
ps -ef | grep java
kill -9 [pid]
배포 확인
인스턴스의 퍼블릭 IPv4 주소 뒤에 :8080을 붙여서 접속 OR 퍼블릭 IPv4 DNS 뒤에 :8080을 붙여서 접속해 잘 되는지 확인하면 완료!
이렇게 하면 CI/CD 없는 배포가 완료된다.
다음 게시글에선 CI/CD를 사용해 배포를 하는 방법을 알아볼 것이다!
- 참고
'⚙️ DevOps' 카테고리의 다른 글
[CI/CD] Spring Boot3 + AWS EC2 + GitHub Actions CI/CD 적용하기 (0) | 2024.12.02 |
---|---|
[AWS] 2024년 2월부터 모든 퍼블릭 IPv4 주소에 대해 요금이 부과되도록 변경 - 프리티어임에도 비용이 발생했다면 (0) | 2024.11.06 |
[AWS/RDS] AWS EC2 + RDS + S3 생성하고 배포하기 #2 RDS + S3 (0) | 2024.10.28 |
[AWS/EC2] AWS EC2 + RDS + S3 생성하고 배포하기 #1 EC2 (0) | 2024.10.21 |
[AWS/S3] 이미지 업로드용 S3 버킷 및 IAM 사용자 생성하기 (0) | 2024.09.27 |