재배포해보기
이전까지는 배포과정을 해봤습니다.
만약 프로젝트의 기능이 추가되거나 에러사항이 생겨 변경한다면 배포된 프로젝트도 변경되어야 합니다.
이때 배포스크립트 depoly.sh는 사용할 수 없습니다.
하지만 이번에는 스크립트 작성이 아닌 히나하나 명령어를 입력해 보겠습니다.
1. 기존 서버 중지
./spring-stop.sh
2. 기존 서버 폴더 삭제
rm -rf /home/ubuntu/aws-v1
3. 새로운 프로젝트 git clone
git clone [프로젝트주소]
4. gradlew 실행권한주기
cd /home/ubuntu/aws-v1
chmod u+x gradlew
5. 빌드 -> jar파일 만들기
./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으로 자동 재시작
-> 처음 배포때 이미 cron적용이 되어있습니다.
위 과정을 갖는 하나의 배포 스크립트를 만들어야 합니다.
(최초 : 최초 배포프로세스, 두번째 이후 : 재배포 프로세)
문제점!
- 재배포를 하는동안 서버가 죽어있습니다.
- 재배포시에 ec2를 새로생성 후 거기에 재배포를 할 수 있습니다.
- apt update, JDK설치, crontab 재등록
- 배포 잘 되었으면 기존 서버 종료
- 자동 스크립트가 없습니다.
- 재배포 스크립트를 다음 포스팅부터 해볼 예정입니다.
- 재배포를 위한 테스트 서버가 없습니다.
- 트래픽 증가하면 못버팁니다.
- github에 push만하면 자동으로 재배포가 되지 않습니다.
- EC2 서버에 프로그램 설치를 직접 해야합니다. (jdk, apt, git 등등...)
- 앨라스틱 빈 스톡이 해결
- 로컬 개발할때 동일한 환경에서 개발할 순 없을까?
- 가상화 기술 (도커)
'AWS' 카테고리의 다른 글
엘라스틱 빈스톡 SSH 접속 후 nginx, spring 동작 및설정 확인하기 (0) | 2023.11.12 |
---|---|
AWS 엘라스틱 빈스톡 내부 구성 이해하기 (0) | 2023.11.12 |
crontab 배포 스크립트로 스프링 서버 재시작하기 (1) | 2023.11.11 |
nohup 배포 문제점, crontab을 이용한 해결 (0) | 2023.11.11 |
타임존 변경 및 종료스크립트 (0) | 2023.11.11 |