본문 바로가기
개발 기초 다지기

배포 후 수정 하기 (git hub과 pm2)

by 너의고래 2024. 6. 17.
반응형

프로젝트를 진행하다 보면 배포 후에 수정을 진행해야하는 일이 자주 생긴다. 강의를 따라서, 그리고 여러번 진행하다보니 익숙해진 배포와 배포 후 수정과정은 어떻게 다를까?

 

나같은 경우는 처음에 배포와 각 도구에 대한 이해가 부족해서 그냥 git hub에만 넣으면 서버에 자동 반영이 되는줄 알았다. 어렵지 않지만 각 개념을 확실히 이해하기 위해 정리를 진행해보려 한다.


서버에 수정된 코드 적용하기: Git 업데이트와 서버 관리

1. 코드 수정 및 커밋

프로젝트에서 필요한 기능을 수정하거나 새로운 기능을 추가한다. 수정된 코드는 로컬 환경에서 테스트하여 예기치 않은 오류가 없는지 확인한다.(이거 안하면 눈물을 흘리는 수가 있다.) 코드가 정상적으로 작동하는 것을 확인한 후에는 Git을 사용해 변경 사항을 커밋한다.

git add .
git commit -m "오류 수정"

2. GitHub에 푸시

커밋한 변경 사항을 GitHub 원격 저장소에 푸시한다.

git push origin main

3. 서버에 코드 배포

서버에 변경된 코드를 다시 배포해야 한다. 나는 PM2를 사용해 배포를 진행한다.

이부분에서 나는 자동으로 pm2가 git hub을 반영한다고 생각했는데, pm2도 하나의 로컬 branch를 가지고있다고 생각해야하는 것이었다. 그래서 업데이트 된 git hub을 당겨와서 업데이트 해줘야 한다.

PM2로 서버 관리하기

PM2는 서버를 지속적으로 유지할 수 있게 만드는 도구다. (코드 변경이 주제지만 아직 아직 배포 할때 마다 설치를 찾아보기 때문에 PM2 기능을 전반적으로 간략하게 정리해보려 한다.)

  • 서버에 PM2 설치 및 설정: 서버에 PM2를 설치하고, 애플리케이션의 실행 및 관리를 위한 설정을 구성한다.
  • yarn global add pm2
  • PM2로 애플리케이션 시작: PM2를 사용하여 애플리케이션을 시작하고 관리한다.
  • pm2 start app.js
  • 서버 재시작: 코드 수정 후 PM2로 관리하는 서버의 경우, 변경된 코드를 반영하기 위해 서버를 재시작해야 할 수 있다.
    (나는 재시작을 하지 않아서 반영이 되지 않았던 때도 있다.)
  • pm2 restart app
  • 로그 모니터링: PM2를 통해 애플리케이션의 로그를 모니터링하고, 문제가 발생한 경우 신속하게 대응할 수 있다.
  • pm2 logs

 

이 과정에서 가장 중요한 것은 백업이라고 생각한다. 이전 게시물처럼 예기치 않은 문제가 발생할 경우 이전 상태로 롤백할 수 있도록 준비할 경우 안전하게 프로젝트를 진행할 수 있다.

처음에는 어떻게 해야하나 난감하지만, 기본적인 개념만 이해하면 어렵지는 않다. 하지만 계속 해야할 중요한 부분이기 때문에 기록해두고싶었다.

반응형

댓글