NetLifyとGithubでJamstack配備を予定する方法


私がJamstack運動について興奮させた1つのものは、内容メッシュの考えです.私は最初の用語をthe Gatsby folks talked about combining multiple data sources into static JAMstack sitesは、ギャツビーのコアの強みの一つとなった聞いた.
コンテンツメッシュの背後にあるアイデアは、ビルド時にサードパーティ製のデータを収集して表示するAPIを使用することです.
My siteはnetlifyで動作し、現在の内容は以下の内容メッシュです:

  • Buttondownを示すnewsletter count in the footerのAPI

  • 表示する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のプラットフォームでスケジュールされた配備とcronjobsを求めました.これまでの勧告はto use Zapierまたは別のサードパーティ製のツールでした.
    それが私のセットアップにもう一つのサービス依存を加えるので、私はこのアプローチが好きでした.
    しかし、現在、我々はGitHub actionsを持っており、これらはスケジュール可能であることが判明、私は最終的に別のツールをもたらすことなく私のウェブサイトのデータを新鮮に保つために完璧なソリューションを発見した.

    あなたのNetLifyサイトを構築して、配備する予定のGithubアクション


    githubアクションに飛び込むには、the documentationを読むことをお勧めします.あなたが働くスニペットを探しているなら、ここにTL ;ドクター
  • リポジトリにワークフローファイルを追加する
  • 以下のスニペットをペーストし、ビルドフック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
    
    /.github/worfklows/main.ymlは、毎晩毎晩、main.ymlがNetlifyビルドフックURLである予定のGithubワークフローを定めます.
    それは美しい!また、Githubの動作を設定するのは、私のサイトデータを更新するのに最適な解決策のように感じます.なぜなら、それは、GithubがNetlifyと対話するもう一つの方法だからです.私はそれが大好き!