GitHub Actions를 사용하는 Azure의 WordPress용 CI/CD

4200 단어 wordpressgithubazure
최근 Azure에서 WordPress를 실행하는 것이 훨씬 더 좋아졌습니다. 2022년 2월 Microsoft는 유지 관리 및 성능 향상과 간소화된 배포 프로세스를 발표했습니다The new and better ‘WordPress on App Service’.

Azure에서 호스팅하는 WordPress의 많은 이점에 대해 거만하게 말하지는 않겠습니다. SLA, 규모 및 보안을 말하는 것으로 충분합니다. 이 게시물의 목표는 Azure App Service에서 실행되는 WordPress 사이트에 사용자 지정 코드를 배포하는 방법이라는 한 가지 문제를 해결하는 것입니다.

By custom code, I am referring to plugins and themes. If you want to hack WordPress core, you're on your own 😁



가정


  • 코드가 GitHub 리포지토리에 있음
  • 웹 앱의 FTPS 자격 증명을 사용합니다. 이에 대한 dev.to 기사가 있습니다.
  • CI/CD(지속적인 통합/지속적인 배포)용 GitHub Actions를 사용하여 WordPress 사이트에 코드 업데이트를 배포합니다.

  • 약간의 배경



    App Service의 WordPress는 애플리케이션 설정WEBSITES_ENABLE_APP_SERVICE_STORAGEtrue 로 설정된 상태로 설치됩니다. 이렇게 하면 경로가 /home OR ~/ 인 Azure Storage 탑재에서 사이트에 대한 영구 저장소가 활성화됩니다. 이 경로를 벗어나면 WordPress 코드(로그 파일 및 백업과 같은 다른 항목)가 있습니다.

    2022년 4월 13일 현재 Microsoft에서 유지 관리하는 WordPress 소스 코드에는 경로~/site/wwwroot/wp-content/plugins에 3개의 플러그인이 포함되어 있습니다. wp-admin UI를 통해 플러그인을 설치할 때 플러그인이 설치되는 경로입니다. 테마는 동일한 패턴을 따릅니다.

    커스텀 플러그인 및 테마 코드용 CI/CD



    말할 필요도 없이 사용자 지정 코드의 경우 소스 코드 버전 제어 및 효율적인 배포 워크플로를 원할 것입니다. 이것은 GitHub 리포지토리 및 GitHub Actions를 사용하여 수행됩니다.

    예를 들어 내 사용자 지정 코드는 공개 저장소tommcfarlin/wp-hello-world의 포크입니다.

    사용자 지정 코드에 GitHub 작업.github\workflows에 대한 디렉터리를 추가합니다.

    GitHub 작업의 경우 GitHub Marketplace에서 사용할 수 있는 FTP Deploy 작업을 사용합니다.
    .github\workflows 디렉토리에 다음 코드를 삽입할 main.yml 파일을 추가합니다.

    on: push
    name: 🚀 Deploy website on push
    jobs:
      web-deploy:
        name: 🎉 Deploy
        runs-on: ubuntu-latest
        steps:
        - name: 🚚 Get latest code
          uses: actions/checkout@v2
    
        - name: 📂 Sync files
          uses: SamKirkland/[email protected]
          with:
            server: <mysite>.ftp.azurewebsites.windows.net
            username: ${{ secrets.WP_USER }}
            password: ${{ secrets.WP_PASSWORD }}
            protocol: ftps        
            server-dir: /site/wwwroot/wp-content/plugins/wp-hello-world/
            # dry-run: true
    


    이것이 귀하의 사이트에서 작동하려면 다음이 필요합니다.

  • Add Actions secrets FTPS 자격 증명용. 이 예에서 비밀 이름은 WP_USERWP_PASSWORD 입니다.
  • server: 값에서 <mysite> 자리 표시자를 사이트의 고유한 FTPS 엔드포인트 접두어로 바꿉니다.


  • 조치 코드 끝에 있는 # dry-run: true 속성에 유의하십시오. GitHub Action의 초기 테스트에 권장합니다.
  • GitHub 작업에 사용할 수 있는 다른 설정은 FTP Deploy 설명서를 참조하십시오.

  • 더 깊이



    CI/CD는 단계적 배포가 있을 때 정말 빛을 발합니다. Azure Web Apps를 사용하면 Dev, Stage 및 QA와 같은 사전 프로덕션 환경에 사용할 수 있습니다deployment slots. 각각에는 고유한 FTPS 엔드포인트가 있어 코드 수명 주기의 각 단계에서 GitHub Actions를 활용할 수 있습니다.

    마무리 중



    이 게시물을 읽어 주셔서 감사합니다. 도움이 되었기를 바랍니다. 다른 독자를 위해 피드백과 제안을 자유롭게 공유하십시오.

    자원


  • App Service overview
  • Create a WordPress site - Azure App Service
  • Get Started with GitHub Actions
  • 좋은 웹페이지 즐겨찾기