반응형
배포 설정
.github/workflows/deploy.yml
name: Deploy on Push
on:
push:
branches:
- main # main 브랜치에 푸시될 때 실행
jobs:
deploy:
runs-on: ubuntu-latest
steps:
# 1. 리포지토리 체크아웃 / 저장소 코드를 워크플로 실행 환경에 복사하는 GitHub에서 제공하는 공식 액션
- name: Checkout repository
uses: actions/checkout@v3
# 2. SSH 키 설정 및 서버에 접속하여 빌드 실행
- name: Deploy to server
env:
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
run: |
# SSH 키 설정
mkdir -p ~/.ssh
echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
# SSH 접속 및 빌드 실행
ssh -p 포트 -o StrictHostKeyChecking=no 이름@IP "
cd ~/Desktop/playground/apps/maplem/frontend &&
git pull &&
pnpm install &&
pnpm build
"
빌드 실행 이후 빌드파일을 nginx로 이동시키는 과정까지 빌드 커맨드에 들어있어 자동으로 새로운 버전을 서빙하게 됨.
SSH_PRIVATE_KEY
키 등록 방법
- ssh 비밀키 복사
cat ~/.ssh/id_rsa
후 복사 - GitHub Repository로 이동
- Settings → Secrets and Variables → Actions로 이동
- New repository secret을 클릭
- 이름을 SSH_PRIVATE_KEY로 설정하고 복사한 개인 키를 붙여넣기
서버에 공개키를 등록하는 과정
- ssh 공개키 복사
cat ~/.ssh/id_rsa.pub
후 복사 - ssh 접속 후
~/.ssh/authorized_keys
에 내용 복사
추가적으로 테스트코드를 도입하는 경우 수정될 여지가 있음
반응형