Jekyll を Github Actions でビルドして Cloudflare Pages にデプロイする
.github/workflows/deploy.yml
ソースを見た方が早いと思うので読んでみてください。
name: Deploy
on: [push]
jobs:
publish:
runs-on: ubuntu-latest
permissions:
contents: read
deployments: write
steps:
- name: Checkout
uses: actions/checkout@v3
with:
# see https://github.com/actions/checkout/issues/520#issuecomment-1320838255
fetch-depth: 2147483647
- uses: ruby/setup-ruby@v1
with:
ruby-version: .ruby-version
bundler-cache: true
- run: bundle exec jekyll build
env:
JEKYLL_ENV: production
- name: Publish to Cloudflare Pages
uses: cloudflare/pages-action@1
with:
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
projectName: www-fukata-dev
directory: ./_site
gitHubToken: ${{ secrets.GITHUB_TOKEN }}
www.fukata.dev/deploy.yml at master · fukata/www.fukata.dev · GitHub
fetch-depth
このブログでは記事の編集履歴を表示するために fukata/jekyll-git-history
を使っています。
fukata/jekyll-git-history: Show git history of jekyll post
そのため、全コミット履歴が欲しいため fetch-depth を指定しています。
Cloudflare Pages でのビルドを止めた理由
移行した理由はCloudflare Pages のビルドではRuby 3系が使えずEOLになっている2.7系までしか使えないためです。
Build Image Update · cloudflare/pages-build-image · Discussion #1
一応、上記の記事で議論されていますがいつ頃対応されるのか分かりません。