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

김나나·2024년 9월 19일

Node.js

목록 보기
48/50

이전에 공인IP 받고 포트포워딩 해서 해결했었는데,
포트포워딩을 해줄 수 없는 상황이라 고민하다 self-hosted runner를 사용해보게 되었다.


Self-hosted runner 서버에 설치

  1. 프로젝트의 Setting -> Actions의 Runners 클릭 -> "New self-hosted runner" 클릭
  1. 아래처럼 선택할 수 있는데 우분투 서버를 사용할 예정이었으므로 Linux 선택
  1. 아래에 Download, Configure, Using your self-hosted runner 있는데 서버 돌릴 우분투에서 해당 코드 복붙해서 설치해주었다!

설치하다 마지막쯤에 Configure부분 설정하다 참고한 글 링크

  1. 마지막으로 ./run.sh 입력해주면 실행된다!

github와 서버 SSH keys 설정

  1. 깃허브 프로필 눌러서 Setting 클릭

  1. 좌측의 Access -> SSH and GPG keys 클릭 -> New SSH key 클릭
  1. 서버 컴퓨터에서
cat ~/.ssh/id_rsa.pub

입력해서 공개키 복사해서 넣어주기

  1. yml 코드에 아래 코드 한 번 추가해주고 access 등록
      - name: Setup SSH for GitHub access
        run: |
          mkdir -p ~/.ssh
          echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_rsa
          chmod 600 ~/.ssh/id_rsa
          ssh-keyscan -H github.com >> ~/.ssh/known_hosts

위 코드 추가하고 push 해준 다음,

서버에 터미널 열고

ssh -T git@github.com

이렇게 입력했을 때,

Hi [닉네임]! You've successfully authenticated, but GitHub does not provide shell access.

이런 식으로 떠야 성공한 것!

  1. 마지막으로 다시 아래처럼 pull origin main을 해주고, npm install 해줌
      - name: Run commands on self-hosted runner
        run: |
          cd /home/kimlrlr/node-ci-cd-test && git pull origin main && npm install

잘되면 드디어 끝 ㅜㅜ

profile
10분의 정리로 10시간을 아낄 수 있다는 마음으로 글을 작성하고 있습니다💕

0개의 댓글