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.