Zola telepítés GitHub Actions segítségével

Posted 2023-03-15 15:00:00 by sanyi ‐ 2 min read

Második próbálkozás egy Zola alapú blog automatikus telepítésére Cloudflare Pages-re

Találtam egy bug-ot a Zola-ban, ami miatt nem tudtam a full text keresőindexet használni a blogom magyar nyelvű verziójában. A két érintett csomagot, az elasticlunr-rs és zola csomagokat módosítottam, hogy támogassák a magyar nyelvet:

majd létrehoztam egy saját Zola docker image-et erre a verzióra alapozva: ghcr.io/sapati/zola:v0.17.1-hu

Az első blogbejegyzésben egy workaround segítségével telepítettem az oldalakat a Cloudflare Pages-re: A zola parancsot a saját gépemen futtattam, majd a keletkező public mappát a forrással együtt felküldtem GitHub-ra. Így a Cloudflare egyszerűen ki tudta másolni a public mappát a repo-ból.

Ezúttal átálltam egy GitHub Actions alapú megoldásra és kikapcsoltam a Cloudflare Pages oldalán az automatikus telepítést.

name: deploy

on:
  push:
    branches: [master]

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout
        uses: actions/checkout@v2

      - name: Run zola build
        run: docker run -v ${{ github.workspace }}:/app ghcr.io/sapati/zola:v0.17.1-hu -r app build

      - name: Deploy to Cloudflare Workers with Wrangler
        uses: cloudflare/[email protected]
        with:
          apiToken: ${{ secrets.CLOUDFLARE_TOKEN }}
          command: pages publish public --project-name my-projects-name

A zola build lépés elindítja a saját zola docker image-emet, felcsatolja a forráskódot az app mappába majd futtatja a zola-t az -r app build paraméterekkel így létrehozva a public mappában a kész site-ot.

A következő lépés a Cloudflare wrangler eszköze segítségével feltölti a site-ot a Cloudflare Pages-re.

Címkék:
zola github github-actions cloudflare wrangler