왜 매번 삽질은 똑같이 반복하는지..
분병 ec2 github actions을 통해 ssh접속을해서 git pull, npm 스크립트 실행을해서 자동배포를 했었는데, 왜 안되지??!
진짜 이거하려고 집념을 가지고 actions, issue, medium 을 얼마나 찾아봤는지.. 삽질이 의미있긴 하지만.. 시간도 너무 아깝다
원래는 eb를 이용해서 간단히 환경구축을 하려했는데, nestJS는 워낙 까다로웠고, 잘안됬다.. 그래서 직접 환경 구축을 하다가 마주친 삽질 start...
내가 하려고했던 거는
1. github master push
2. github actions -> ssh action 실행
3. [ec2] npm 스크립트 실행 (git pull, pm2를 묶어서 npm run redeploy 하나만 해주도록 했다)
처음환경세팅
우선 처음에는 모두 수동으로 ec2 만들고, nvm설치, git clone 등 배포를 한번해준다.
ubuntu password 발급
글 포스팅 중 발급하는 과정을 정리해놓은게 있는데 다시하긴 귀찮으니..
password 생성하고, ssh 옵션에서 비밀번호 로그인을 yes로 바꾸고, ssh 서버를 재실행한다.
github Actions
아래 액션 을 추가하고 push 하면 끝!
name: remote ssh command
on:
push:
branches:
- master
pull_request:
branches:
- master
jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- name: executing remote ssh commands using password
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
password: ${{ secrets.PASSWORD }}
port: ${{ secrets.PORT }}
script: |
cd ddm-server-2
PATH=$PATH:/home/ubuntu/.nvm/versions/node/v18.7.0/bin
npm run redeploy
삽질 포인트
1. password 로 접속하도록 바꾼다는 생각을 못하고, 계속 pem 키 값을 넣어서 사용하려 했다.
2. npm 명령어를 찾을 수 없다고 나와서 한참 해맸는데, global path를 설정해주어야 됬었다.
Trouble Shooting
- 반드시 git pull 하지말고, git pull origin master 으로 풀네임으로해주자!
'Archive' 카테고리의 다른 글
3시간동안의 과제 테스트를 끝내고 (0) | 2022.08.27 |
---|---|
EC2 Ubuntu timezone 설정하기 (0) | 2022.08.17 |
EC2 ubuntu password로 접속가능하게 하기 (0) | 2022.08.05 |
NestJS 서버 EC2 배포 및 CICD 정리 (0) | 2022.08.04 |
SSH 접속시 host가 변경되었을때 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! (0) | 2022.08.04 |