백엔드 수동 배포 (ec2)
키 있는 폴더 위치 가서
h@Hui-MacBookPro JavaProjects % chmod 600 fanmon.pem
(읽기 쓰기 권한 줌)
h@Hui-MacBookPro JavaProjects % ssh -i fanmon.pem ubuntu@3.36.56.169
(Ec2 인스턴스 접속)
AWS에 EC2 서버를 띄워보고 접속하는 과정을 진행함
ec2에 스프링 어플리케이션 띄우기
h@Hui-MacBookPro JavaProjects % ssh -i fanmon.pem ubuntu@3.36.56.169
이거 통해서 접속 가능
ubuntu@ip-172-31-7-77:~$ git clone https://github.com/fan-mon/backend.git
프로젝트 클론받음
ubuntu@ip-172-31-7-77:~$ cd backend
ubuntu@ip-172-31-7-77:~/backend$ ./gradlew build
자바 없어서 에러
ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation.
자바 17 다운
ubuntu@ip-172-31-7-77:~/backend$ wget -O- https://apt.corretto.aws/corretto.key | sudo apt-key add -
sudo add-apt-repository 'deb https://apt.corretto.aws stable main'
AWS Corretto의 패키지 서명을 위한 GPG 키를 다운로드하고 시스템에 추가합니다.
Corretto 패키지 저장소를 추가합니다.
sudo apt update;
sudo apt install -y java-17-amazon-corretto-jdk;
패키지 목록을 업데이트합니다.
Amazon Corretto JDK 17을 설치합니다.
ubuntu@ip-172-31-7-77:~/backend$ java -version
openjdk version "17.0.12" 2024-07-16 LTS
Ec2 에서 스프링 프로젝트 빌드하고 실행
ubuntu@ip-172-31-7-77:~/backend$ ./gradlew build
빌드가 끝나면 jar 파일이 build/libs 디렉토리 내부에 생성된다고 했는데
.\gradlew build 실행시, Execution failed for task ':test'. 오류가 남…
환경변수 설정 도 해보고 별짓 다해봐도 안돼서 테스트 부분 포기
ubuntu@ip-172-31-7-77:~/backend$ ./gradlew build -x test
fanmon_be-0.0.1-SNAPSHOT-plain.war fanmon_be-0.0.1-SNAPSHOT.war
War 파일 생성됨
nohup java -jar jwp-shopping-order.jar &
이렇게 jar 실행하래서
nohup java -jar fanmon_be-0.0.1-SNAPSHOT.war &
이렇게 war 실행해줌
cat nohup.out
입력하면 어플리케이션 실행로그 확인가능 (환경변수 미입력으로 아직 안됨)
인바운드 규칙에
8080, 내ip 추가해줌
http://3.36.56.169:8080/get에responsebody있는api로 들어가니까 json형식 응답들이 잘뜸
nano bapo.sh 해서
bapo.sh 파일 생성함
#!/bin/sh
PROJECT_PATH=/home/ubuntu
echo "\n ✨ [$PROJECT_PATH] 경로로 이동합니다.\n"
cd $PROJECT_PATH
이거 파일에 써주고 저장하고 나옴
그러고 ./bapo.sh 해주면
이렇게 됨
추가추가
Build 하는거 한줄 더 추가
된다!!
추가추가
확인
잘됨 아마..
리눅스에서 환경설정 해주기~
설정 완료 후
실행 해보면
잘 나온다!!!!!
쉘 스크립트를 통해서 수동으로 배포하는 작업을 자동으로 처리되게 함 !!!!
성공!!!!