[Node] git action을 이용한 CD(3)

김나나·2024년 9월 17일

Node.js

목록 보기
47/50

내 PC에 고정 IP를 링크 글 보고 넣어준 뒤,
다시 한 번 해당 고정 IP로 서버에 포트포워딩 해주고나서..
연결 잘 되면 이어서 해야합니다..!!!!!!!!


  1. 서버 켜주고
sudo systemctl start ssh
sudo systemctl start sshd
  1. 외부 ip로도 들어올 수 있도록 설정해주고
sudo ufw allow 9922
sudo ufw allow 9922/tcp
  1. 내 로컬 pc에서 테스트
ssh -o StrictHostKeyChecking=no -p PORT USER@IP 'hostname'

서버pc에 hostname이 잘 나오면 연결 잘 되는것!


우선 git bash켜서 아래처럼 했을 때 잘 되는지 테스트

ssh -o StrictHostKeyChecking=no -p 포트번호 호스트이름@IP 'cd /경로/작성해/주기 && git pull'

git bash에서는 잘 된다..!


이러고도 외부에서 접속은 한참 에러나서 해결한 뒤 아래는 추가 내용


(1) 윈도우 cmd에 ipcofig/all검색해서 나온 내용으로

IPv4 주소랑 기본 게이트웨이 기억해두기!

(2) 각 공유기별로 다르지만 (저는 netis 공유기 사용 중이라 netis..) 기본 게이트웨이를 브라우저 주소창에 입력하면 관리자페이지가 나오게 되는데, 여기서 포트포워딩을 다시 해줌!

(3) 링크 페이지로 이동하면 내 공인IP와 그에 해당하는 포트번호에 접속이 가능한지 체크해볼 수 있음! 위에 포트포워딩을 해준 다음 테스트해보자.

잘 되면 위 그림처럼 "Success"라고 뜬다!


몇 일을 이 포트포워딩 하나로 고생했던가ㅜㅜ..

성공한 yml코드는 아래

name: TestNode.js CI-CD

on:
  push:
    branches: [main]
  pull_request:
    branches: [main]

jobs:
  build:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        node-version: [20.x]

    steps:
      - uses: actions/checkout@v2
      - name: Use Node.js ${{ matrix.node-version }}
        uses: actions/setup-node@v3
        with:
          node-version: ${{ matrix.node-version }}

      - run: npm ci
      - run: npm run build --if-present
      - run: npm run lint
      - run: npm test

  deploy:
    runs-on: ubuntu-22.04
    needs: build

    steps:
      - name: Checkout code
        uses: actions/checkout@v2

      - name: Setup SSH key

        run: |
          mkdir -p ~/.ssh
          echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_rsa
          chmod 600 ~/.ssh/id_rsa
          whoami
          pwd

      - name: Add server to known_hosts
        run: |
          ssh-keyscan -H -p ${{ secrets.PORT }} ${{ secrets.HOST_IP }} >> ~/.ssh/known_hosts

      - name: SSH to Ubuntu Server Update
        run: |
          ssh -i ~/.ssh/id_rsa -o StrictHostKeyChecking=no -p ${{ secrets.PORT }} ${{ secrets.SERVER_USER }}@${{ secrets.HOST_IP }} 'cd /home/kimlrlr/CI-CD-test && git pull'
          ssh -i ~/.ssh/id_rsa -o StrictHostKeyChecking=no -p ${{ secrets.PORT }} ${{ secrets.SERVER_USER }}@${{ secrets.HOST_IP }} 'cd /home/kimlrlr && mkdir hello'
profile
10분의 정리로 10시간을 아낄 수 있다는 마음으로 글을 작성하고 있습니다💕

0개의 댓글