GitHub Actions를 사용하여 Xserver에 자동 배포

목적



(현황)
로컬 개발 → 작업 브랜치 Push → master에 병합 → Xserver에 FileZilla에서 배포

(이상)
로컬 개발 → 작업 브랜치 Push → master로 병합 → Xserver에 자동 배포

GitHub와 연동하여 자동 배포를 하는 경우는 CircleCI를 이용하는 것이 일반적일까라고 생각하고 있었습니다만, GitHub Actions에서도 할 수 있다는 것이었으므로 조사해 보았습니다.

다양한 설정



1. Xserver 설정



특히 필요하지 않습니다.

2. GitHub Actions 설정



2.1 GitHub 설정에서 FTP 정보 설정



GitHub 대상 리포지토리의 settings > secrets에서 다음 정보를 설정합니다.
  • FTP_SERVER: ftp 서버 호스트
  • FTP_USERNAME : ftp 서버 계정 이름
  • FTP_PASSWORD: ftp 서버 비밀번호

  • FTP 소프트웨어 설정 | 렌탈 서버 [엑스 서버]

    여기서 설정한 값은 yml 기술시에 이용합니다.

    2.2 deploy.yml 만들기



    대상 리포지토리 바로 아래에 .github/workflows/ 디렉터리를 만들고 그 아래에 deploy.yml 파일을 설치합니다. 이 파일에 배포시의 지시를 기술해 갑니다.

    이번에는 빌드가 없으므로 순전히 배포만 합니다.

    .github/workflows/deploy.yml
    on:
      push:
        branches:
          - master
    name: Deploy
    jobs:
      FTP-Deploy-Action:
        name: FTP-Deploy-Action
        runs-on: ubuntu-latest
        steps:
          - uses: actions/checkout@master
          - name: FTP-Deploy-Action
            uses: SamKirkland/[email protected]
            env:
              FTP_SERVER: ${{ secrets.FTP_SERVER }}
              FTP_USERNAME: ${{ secrets.FTP_USERNAME }}
              FTP_PASSWORD: ${{ secrets.FTP_PASSWORD }}
              LOCAL_DIR: ./
              REMOTE_DIR: /デプロイ対象のサイト/public_html/
    

    구현



    위에서 설정이 완료되었으므로 실제로 시도해 보겠습니다.

    작업 브랜치를 master에 병합하면 설정한 액션이 움직입니다.



    안전하게 완료된 것 같습니다!



    사이트를 확인한 결과 배포할 수 있었습니다 🎉

    마지막으로



    이번은 단순히 배포했을 뿐이었습니다만, 프런트의 소스를 빌드한 후에 배포 같은 것도 간단하게 할 수 있을 것 같았기 때문에 기회가 있으면 시험해 보고 싶습니다.

    참고



    GitHub Actions를 사용하여 FTP 자동 배포(웹 사이트 공개)를 실현! 소프트웨어로 수동 업로드 졸업

    좋은 웹페이지 즐겨찾기