Archive
NestJS 서버 EC2 배포 및 CICD 정리
livemehere
2022. 8. 4. 14:50
체크리스트
- 포트를 8080 으로 하였는가?
- pm2 를 설치하였는가?
- script를 추가하였는가?
PM2 사용하기
설치
npm i pm2 --force
script 추가
"deploy": "npm i --force && npm run build && npx pm2 start dist/main.js",
"redeploy": "npm i --force && npm run build && npx pm2 reload all"
시작
- EC2 대여 (최소 t2.small , micro 는 안돌아간다)
- 탄력적 IP 생성 및 할당
- ssh 접속
- nvm 설치
sudo apt install curl
curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash
source ~/.bashrc
nvm install node
- sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
- git clone <프로젝트 주소>
- git config --global credential.helper store (매번 로그인안하도록 설정)
- npm run deploy
이제 매번 코드를 업데이트 한다면 거쳐야 할 과정이 아래와 같다.
ssh 접속 -> git pull origin master -> npm run redeploy
CICD gitghub Actions
다음액션을 사용한다.
AWS SSM Send-Command - GitHub Marketplace
Remote EC2 bash command execution
github.com
(다음에 계속 ..)
반응형