Netlify 및 GitHub를 사용하여 JAMstack 배포를 예약하는 방법
콘텐츠 메시의 기본 아이디어는 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
) # /.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.yml
는 curls
매일 자정에 Netlify 빌드 후크 URL을 생성하는 예약된 GitHub 작업 흐름을 정의합니다.아름다워! 그리고 GitHub 작업 설정은 GitHub가 Netlify와 상호 작용하는 또 다른 방법이기 때문에 내 사이트 데이터를 새로 고치는 완벽한 솔루션처럼 느껴집니다. 나는 그것을 좋아한다!
Reference
이 문제에 관하여(Netlify 및 GitHub를 사용하여 JAMstack 배포를 예약하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/stefanjudis/how-to-schedule-jamstack-deploys-with-netlify-and-github-2mjg텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)