재배포를 하려면
하나의 배포 스크립트를 만들어주면 좋음.(최초:최초배포프로세스, 두번째이상:재배포 프로세스)
----------------------------------------------
deploy.sh (배포)
redeploy.sh (재배포)
재배포 스크립트 작성
----------------------------------------------
1. 기존서버를 중지시켜야함
spring-stop.sh ->실행권한줌
------------------------------
echo "Springboot Stop..."
SPRING_PID=$(pgrep -f v1-0.0.1-SNAPSHOT.jar)
echo $SPRING_PID
kill -9 $SPRING_PID
2. aws-v1 폴더를 통째로 삭제 (-rf를 해야 강제로 삭제)
rm -rf /home/ubuntu/aws-v1
3. git clone 다운
git clone https://github.com/codingspecialist/aws-v1.git
GitHub - codingspecialist/aws-v1: ec2 서버에 스프링부트 프로젝트 배포하기
ec2 서버에 스프링부트 프로젝트 배포하기. Contribute to codingspecialist/aws-v1 development by creating an account on GitHub.
github.com
4. gradlew 실행 권한주기
cd /home/ubuntu/aws-v1
chmod u+x gradlew
5. 빌드하기
./gradlew build
6. jar를 실행
nohup java -jar /home/ubuntu/aws-v1/build/libs/v1-0.0.1-SNAPSHOT.jar 1>log.out 2>err.out &
7. cron으로 자동 재시작
deploy.sh
----------------------------------------------------
echo "cron apply"
crontab -l > crontab_new
echo "* * * * * /home/ubuntu/cron-restart/spring-restart.sh" 1>>crontab_new
crontab crontab_new
rm crontab_new
**이 배포의 문제점은 2~7번을 행하는 동안 서버는 멈춰있다는게 문제
이걸 해결해야함**
기본 배포 완료.
두번째 배포방법의 목표 : 스크립트 작성으로 배포 자동화, 재배포 자동화
로컬 -> 깃에 프로젝트올림
로컬 -> ec2에 배포파일 전송
ec2 -> 전송받은 배포파일 실행
AWS 배포하기 2 (L2) 재배포를 고려한 cron종료 (0) | 2022.11.16 |
---|---|
AWS 배포하기 1 (L2) 환경변수와 bashrc (0) | 2022.11.16 |
aws배포하기 3 (기본) 에러출력, 표준출력 (0) | 2022.10.19 |
aws배포하기 2 (기본) (0) | 2022.10.13 |
aws배포하기 (기본) (0) | 2022.10.06 |