코드를 수정하여 git push 후 pull request로 main에 코드를 넣어주었다.
다음 ec2에서 잘 되는지 https 로 API test를 해본 결과 아직 파일이 최신화가 안된 것인지 바꾼 기능이 실행되지 않았다.
팀원에게 물어보니 ubuntu에서 git pull을 해준뒤 clean build를 해줘야 한다고 한다.
cd/desktop
참고로 keypair은 EC2을 처음 만들었을 때 발급받을 수 있으며 나는 팀원이 따로 공유해준 파일을 다운받아 내 mac -> desktop에 옮겨놓았다.
chmod 400 infra_keypair.pem
ssh -i "infra_keypair.pem" ubuntu@ec2-13-125-153-201.ap-northeast-2.compute.amazonaws.com
사진 맨 아래
sudo su
명령어는 앞으로 sudo 명령을 일일이 치지 않아도 되도록 sudo 권한 부여하는 명령어이다.
참고로 이동하고자 하는 경로는 ububtu가 아닌 root 위치에 있음
cd var/www/(INFRA-Server)
혹시 아직 github상의 repo를 가져오지 않은 경우 (초기)
아래 실습 과정을 참고하자
UMC 7주차 개발환경 구축 및 API 테스트
git pull
github 인증을 하라고 나온다. 입력하라는대로
Username : shinhn
Password : (Personal Access Token)
Personal Access Token 은 github - Settings - Developer settings에서 새로 생성할 수 있고 토큰 값은 생성시 한번만 발급되므로 메모장에 잘 적어두도록 하자.
(본인은 이전에 생성해둔 토큰값을 메모장에 적어두고 그대로 사용했음)
🔥 이미 돌아가고 있던 서버가 있는 경우
ps -ef | grep java
위 명령어로 조회했을 때 돌아가고 있는 프로세스를 아래 명령어로 전부 종료시킨다.
kill -9 {PID번호}
nginx 재시작
systemctl restart nginx
clean build
./gradlew clean build
만약
bash: ./gradlew: Permission denied 에러가 뜬다면
chmod +x gradlew
해주고 다시 clean build 해주면 됨
무중단 배포
nohup java -jar build/libs/demo-0.0.1-SNAPSHOT.jar &
nohup: ignoring input and appending output to ‘nohup.out’
요런 메세지 뜨면 정상적으로 완료된 것이므로
exit
로 나가준뒤 터미널 종료 -> 서버는 계속해서 돌아감