main 브랜치에 merge될 시 자동으로 배포될 수 있도록 github action workflow를 작성했습니다.
읽어보신 후에 어떻게 동작되는지 잘 이해가 안되시는 부분이 있으시면 부담 없이 말씀해주세요.
사용된 기술
PM2
Github Action
파일 설명
ecosystem.config.js: PM2 노드 모듈에서 사용하는 설정 파일입니다. PM2는 Nodejs를 백그라운드로 돌릴 수 있도록 도와주는 모듈입니다. 소스 코드를 받은 다음에 로컬에서 pm2 deploy production 명령어를 실행해보시면 SSH를 통해서 서버가 github 레포지토리를 자동으로 clone하고 post-build 필드에 주어진 명령어를 실행해줍니다.
.github/workflows/deploy.yml: github action workflow 관련 설정 값입니다.
github action workflow는 다음과 같이 동작합니다.
Workflow 설명
github action 서버에서 SSH 접속 정보 설정 (필요한 값은 레포지토리 SECRET 탭에 넣어놨습니다.)
github action 서버에 PM2 모듈 전역으로 설치
pm2 deploy production명령어 실행을 통해서 ec2 서버에서 자동으로 변경된 소스 코드 내려 받은 후에 서버 실행
main 브랜치에 merge될 시 자동으로 배포될 수 있도록 github action workflow를 작성했습니다. 읽어보신 후에 어떻게 동작되는지 잘 이해가 안되시는 부분이 있으시면 부담 없이 말씀해주세요.
사용된 기술
파일 설명
ecosystem.config.js
: PM2 노드 모듈에서 사용하는 설정 파일입니다. PM2는 Nodejs를 백그라운드로 돌릴 수 있도록 도와주는 모듈입니다. 소스 코드를 받은 다음에 로컬에서pm2 deploy production
명령어를 실행해보시면 SSH를 통해서 서버가 github 레포지토리를 자동으로 clone하고post-build
필드에 주어진 명령어를 실행해줍니다..github/workflows/deploy.yml
: github action workflow 관련 설정 값입니다. github action workflow는 다음과 같이 동작합니다.Workflow 설명
PM2
모듈 전역으로 설치pm2 deploy production
명령어 실행을 통해서 ec2 서버에서 자동으로 변경된 소스 코드 내려 받은 후에 서버 실행References