← Cloudflare Workers / workers / ci-cd / external-cicd
GitHub Actions
Workery můžete nasadit pomocí GitHub Actions ↗. Takto můžete nastavit workflow GitHub Actions.
1. Ověřování
Při lokálním spuštění Wrangleru probíhá ověření vůči API Cloudflare přes wrangler login příkaz, který spustí interaktivní proces ověření. Jelikož prostředí CI/CD nejsou interaktivní, Wrangler v takovém případě vyžaduje Token Cloudflare API a ID účtu pro ověření u rozhraní Cloudflare API.
ID účtu Cloudflare
Chcete-li najít ID svého účtu Cloudflare, přečtěte si Vyhledání ID účtu a zóny.
API token
Chcete-li vytvořit API token pro ověření Wrangler v úloze CI:
-
V dashboardu Cloudflare přejděte na API tokeny účtu stránce.
Přejděte na API tokeny účtu ↗ -
Vyberte Create Token.
-
V části Zásady oprávnění, otevřete Custom rozevírací nabídce vyberte Úprava Cloudflare Workers.
-
Přizpůsobte si název tokenu.
-
Omezte rozsah svého tokenu.
Budete muset vybrat účet a zdroje zóny, ke kterým bude mít vygenerovaný API token přístup. Doporučujeme rozsah oprávnění omezit na minimum, abyste omezili přístup svého tokenu. Pokud máte přístup ke třem různým účtům Cloudflare, měli byste vygenerovaný API token omezit pouze na účet, do kterého budete Worker nasazovat.
2. Nastavte CI/CD
Způsob spouštění Wrangleru v prostředí CI/CD závisí na konkrétním nastavení vašeho projektu, tedy na tom, zda používáte GitHub Actions, Jenkins, GitLab nebo něco úplně jiného.
Chcete-li nastavit CI/CD:
- Přejděte do své CI/CD platformy a přidejte následující jako secrets:
CLOUDFLARE_ACCOUNT_ID: Nastaveno na ID účtu Cloudflare pro účet, na který chcete Worker nasadit.CLOUDFLARE_API_TOKEN: Nastaveno na Vygenerovaný token Cloudflare API.
- Vytvořte workflow, který bude zodpovědný za nasazení Workeru. Tento workflow by měl běžet
wrangler deploy. Podívejte se na příklad GitHub Actions ↗ workflow v následující části.
GitHub Actions
Cloudflare poskytuje oficiální akce ↗ pro nasazování Workers. Podívejte se na následující ukázkový workflow, který nasadí váš Worker při push do main větev.
name: Deploy Worker
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- uses: actions/checkout@v6
- name: Build & Deploy Worker
uses: cloudflare/wrangler-action@v3
with:
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}