내가 배포한 웹사이트를 수정하고 다시 재배포를 하는 과정이다.
ec2 ubuntu 환경에서 진행한다.
mv <루트파일>
기존에 클론 되어 있던 루트 파일을 지워준다. 무턱대고 클론을 할 경우 아래와 같은 오류가 발생하는데 이는 이미 중복되어 있기때문에 클론을 할 수 없다는 것이다. 그렇기에 기존에 있던 파일을 삭제하고 진행한다.
fatal: destination path '당신의 루트파일이름' already exists and is not an empty directory.
혹시모르니 백업도 진행해준다. 사실 나는 아래와 같은 코드로 진행함.(선택사항)
mv springboot3.2 springboot3.2_backup
이후 초기에 인스턴스 클론을 한 것처럼 배포할 파일을 올려준 깃허브 주소를 clone
한다.
git clone ~~~.git
sudo su
를 통해 관리자 권한으로 접근하고 sh gradlew build
를 통하여 .jar 파일을 빌드해주는 과정이다. 기존에 있는 .jar 파일을 알아서 업데이트 된다. .jar 파일이 수정되어야 서버에서 그 파일을 읽고 웹사이트를 배포한다. 일부러 굳이 수정하지 않아도 된다. (이 부분에서 시간을 많이 낭비함...)
배포를 함에 있어서 .jar 파일은 중요한 역할을 한다. docker을 사용하지 않고 그냥 ubuntu 서버에서 배포 실습을 하는 경우에도
java -jar springboot3-2-0.0.1-SNAPSHOT.jar
라는 명령어를 사용한다. 코드를 수정해도 .jar 파일이 변경되어있지 않으면(빌드를 하지 않으면) 서버에 변경사항이 적용되지 않는다.
이후 docker 실행은 이전 post를 참고 한다. 만약 docker가 실행중이라면 중지하고 재시작한다.
먼저 아래 명령어로 실행중인 docker를 확인한다.
docker ps
실행중인 docker를 중지하고 삭제한다.
docker stop <container_name_or_id>
docker rm <container_name_or_id>
이후 다시 실행해주면 된다.
ex.)
docker run -p 8080:8080 springboot3.2