Netlify 및 GitHub를 사용하여 JAMstack 배포를 예약하는 방법

5132 단어 jamstackwebdevnetlify
JAMstack 운동에 대해 저를 흥분시킨 한 가지는 콘텐츠 메시에 대한 아이디어입니다. 개츠비의 핵심 강점 중 하나가 된 the Gatsby folks talked about combining multiple data sources into static JAMstack sites 이라는 용어를 처음 들었습니다.

콘텐츠 메시의 기본 아이디어는 API를 사용하여 빌드 시간 동안 타사 데이터를 수집하고 표시한다는 것입니다.

My site은 Netlify에서 실행되며 현재 다음의 콘텐츠 메시입니다.

  • Buttondown의 API를 표시하는 newsletter count in the footer

  • Feedly 표시

  • Contentful 쓰기 및 렌더링my blog posts

  • Netlify Analytics 가져오기 및 렌더링my "popular articles" page

  • GitHub 자동으로 보강하려면 my projects with stargazer data

  • 솔직히, 나는 그것이 꽤 멋지다고 생각합니다. 그러나 많은 데이터 소스에서 제공되는 JAMstack 사이트를 실행하고 있다고 가정합니다. 언제 어떻게 사이트를 재구축하고 데이터를 새로고침합니까?

    Netlify 빌드 후크로 배포 트리거



    Netlify에서 배포를 트리거하려면 build hooks 을 정의할 수 있습니다. HTTP 요청이 들어올 때마다 새 배포를 시작하는 HTTP 끝점입니다.



    저는 현재 Netlify 빌드를 시작하는 4개의 다른 후크로 실행 중입니다. 빌드를 시작하는 항목을 분석할 수 있도록 해당 기능 또는 트리거에 따라 각 빌드 후크를 정의하는 것이 좋습니다.

    내가 REBUILD_CRON 후크를 정의한 것을 볼 수 있습니다. 이 URL 끝점은 cronjob을 통해 시간 간격 내에서 호출되어야 합니다.

    클라우드에서 cronjob을 설정하는 방법이 궁금하다면 혼자가 아닙니다. 많은 사람들이 Netlify의 플랫폼에서 예정된 배포 및 cronjob을 요청했습니다. 지금까지 권장 사항은 to use Zapier 또는 다른 타사 도구였습니다.

    내 설정에 또 다른 서비스 종속성을 추가하기 때문에 이 접근 방식이 마음에 들지 않았습니다.

    그러나 이제 GitHub actions 이 있고 일정을 잡을 수 있는 것으로 판명되었으므로 마침내 다른 도구를 사용하지 않고도 웹 사이트 데이터를 최신 상태로 유지할 수 있는 완벽한 솔루션을 찾았습니다.

    Netlify 사이트를 구축하고 배포하기 위한 예약된 GitHub 작업



    GitHub 작업에 대해 자세히 알아보려면 the documentation을 읽어 보는 것이 좋습니다. 작동하는 스니펫만 찾고 있다면 다음과 같은 내용이 있습니다.
  • 저장소에 작업 흐름 파일 추가( /.github/worfklows/main.yml )
  • 아래 스니펫을 붙여넣고 빌드 후크 URL
  • 을 사용하도록 업데이트합니다.
  • 새 파일을 GitHub에 추가, 커밋 및 푸시

  • # /.github/worfklows/main.yml
    name: Trigger Netlify Build at Midnight
    on:
      schedule:
        # Every day at midnight
        # If you're also puzzled by 
        # the cron syntax check
        # -> https://crontab.guru
        - cron: '0 0 * * *'
    jobs:
      build:
        name: Netlify Midnight Cron
        runs-on: ubuntu-latest
        steps:
          - name: Curl request
            run: curl -X POST -d {} https://api.netlify.com/build_hooks/xxx
    

    main.ymlcurls 매일 자정에 Netlify 빌드 후크 URL을 생성하는 예약된 GitHub 작업 흐름을 정의합니다.

    아름다워! 그리고 GitHub 작업 설정은 GitHub가 Netlify와 상호 작용하는 또 다른 방법이기 때문에 내 사이트 데이터를 새로 고치는 완벽한 솔루션처럼 느껴집니다. 나는 그것을 좋아한다!

    좋은 웹페이지 즐겨찾기