SSH를 통한 GitHub 작업으로 VPS에서 배포를 자동화하는 방법
얼마 전에 VPS 서버를 고용하여 포트폴리오를 호스팅하고 테스트를 수행했지만 문제가 발생했습니다. 변경 사항을 서버에 푸시하고 싶을 때마다 수동으로 해야 했습니다. 내가 수행한 단계는 다음과 같습니다.
git pull
를 만드십시오.그러나 Github 작업이 등장하면서 이러한 단계가 변경되었습니다.
이제 우리는 GhActions에게 '나를 위해 이 배포를 수행하십시오'라고 지시하는 스크립트를 작성할 수 있습니다.
이것은 매우 쉽습니다.
yml
에 project/.github/workflows/
파일을 만들어야 합니다. 예를 들면 /my_project/.github/workflows/ci.yml
그리고 이 파일에서 다음과 같이 작성할 수 있습니다.name: CI
on: [push]
jobs:
deploy:
if: github.ref == 'refs/heads/master'
runs-on: [ubuntu-latest]
steps:
- uses: actions/checkout@v1
- name: Push to server
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.SERVER_IP }}
username: ${{ secrets.SERVER_USERNAME }}
password: ${{ secrets.SERVER_PASSWORD }}
script: cd ${{ secrets.PROJECT_PATH }} && git pull
on
행은 이 작업이 push
이벤트에서 시작되었음을 나타냅니다. jobs
블록은 실행할 작업을 정의합니다.if
행은 이 작업이 마스터 브랜치에 대한 푸시에서만 실행된다고 말합니다. runs-on
행은 이 작업이 최신 우분투 배포판에서 실행될 것이라고 말합니다. steps
블록은 우리가 실행할 단계를 나타냅니다.uses: actions/checkout@v1
. 이것은 원격 ssh 명령을 실행하기 위한 GitHub 작업입니다. with
블록에서 SSH 연결을 위한 매개변수를 구성합니다.Script
레이블에는 서버에서 실행하려는 명령을 작성할 수 있습니다(예: cd our-project-path/ && git pull
).중요한 정보를 숨기기 위해 GitHub 비밀을 사용합니다.
리포지토리에 이 파일이 있으면 다음에 마스터 브랜치를 푸시할 때 자동으로 서버에 배포됩니다.
*원치 않는 오류를 피하기 위해 응용 프로그램에서 좋은 테스트 범위를 유지하는 것이 항상 중요합니다*
Reference
이 문제에 관하여(SSH를 통한 GitHub 작업으로 VPS에서 배포를 자동화하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/miangame/how-to-automate-a-deploy-in-a-vps-with-github-actions-via-ssh-101e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)