← Cloudflare Workers / workers / platform
Tlačítka Deploy to Cloudflare
Pokud vytváříte aplikaci ve Workers a chcete se o ni podělit s ostatními vývojáři, můžete do svého README, příspěvku na blogu nebo dokumentace vložit tlačítko Deploy to Cloudflare. Díky tomu si ostatní mohou vaši aplikaci rychle nasadit na svůj vlastní účet Cloudflare. Tlačítka Deploy to Cloudflare odstraňují potřebu složitého nastavování a vývojáři tak mohou začít pracovat s vaším veřejným repozitářem GitHub nebo GitLab jen na pár kliknutí.
Co jsou tlačítka Deploy to Cloudflare?
Tlačítka Deploy to Cloudflare zjednodušují nasazení aplikace Workers tím, že Cloudflare umožňují:
- Naklonujte repozitář Git: Cloudflare naklonuje váš zdrojový repozitář do účtu GitHub/GitLab uživatele, kde může po nasazení pokračovat ve vývoji.
- Nakonfigurujte projekt: Vaši uživatelé mohou na jedné stránce nastavení upravit klíčové údaje, jako je název repozitáře, název Workeru a názvy potřebných prostředků. Úpravy se promítnou do nově vytvořeného repozitáře Git.
- Build a nasazení: Cloudflare sestaví aplikaci pomocí Workers Builds a nasadí ho do sítě Cloudflare. Veškeré potřebné prostředky se automaticky zřídí a přiřadí k Workeru bez nutnosti dalšího nastavení.
Jak nastavit tlačítka Deploy to Cloudflare
Tlačítka Deploy to Cloudflare lze vložit kamkoli, odkud mohou vývojáři chtít spustit váš projekt. Chcete-li přidat tlačítko Deploy to Cloudflare, zkopírujte následující úryvek kódu a nahraďte adresu URL Git repozitáře adresou URL svého projektu. Volitelně můžete také zadat podadresář.
[](https://deploy.workers.cloudflare.com/?url=<your git repo URL>)<a href="https://deploy.workers.cloudflare.com/?url=<YOUR_REPO_URL>"><img src="https://deploy.workers.cloudflare.com/button" alt="Deploy to Cloudflare"/></a>https://deploy.workers.cloudflare.com/?url=<YOUR_REPO_URL>Pokud jste aplikaci už nasadili pomocí Workers Builds, můžete tlačítko Deploy to Cloudflare vygenerovat přímo v dashboardu Cloudflare výběrem tlačítka Share (najdete ho v podrobnostech Workeru) a zkopírováním poskytnutého úryvku kódu.
Jakmile máte svůj úryvek kódu, můžete ho vložit kamkoli, kde chcete tlačítko zobrazit.
Automatické zajišťování prostředků
Pokud aplikace ve Workeru vyžaduje prostředky Cloudflare, budou automaticky zajištěny jako součást nasazení. Aktuálně podporované prostředky zahrnují:
- Úložiště: KV namespaces, Databáze D1, R2 buckety, Hyperdrive, Vectorize databáze, a Secrets Store Secrets
- Compute: Durable Objects, Workers AI, a Queues
Cloudflare přečte konfigurační soubor Wrangler ve vašem zdrojovém repozitáři, aby zjistil požadavky vaší aplikace na zdroje. Během nasazení Cloudflare zajistí veškeré potřebné zdroje a v případě potřeby aktualizuje konfiguraci Wrangler pro nově vytvořené zdroje (například ID databází a ID namespaců). Aby nasazení proběhlo úspěšně, ujistěte se, že váš zdrojový repozitář obsahuje výchozí hodnoty pro názvy zdrojů, ID zdrojů a všechny další vlastnosti jednotlivých bindings.
Proměnné prostředí a secrets Workeru
Proměnné prostředí Workeru lze definovat běžným způsobem v konfiguračním souboru Wrangler:
{
"name": "my-worker",
"main": "./src/index.ts",
// Set this to today's date
"compatibility_date": "2026-08-28",
"vars": {
"API_HOST": "https://example.com",
},
}name = "my-worker"
main = "./src/index.ts"
# Set this to today's date
compatibility_date = "2026-08-28"
[vars]
API_HOST = "https://example.com"Worker secrets lze definovat v .dev.vars.example nebo .env.example soubor s dotenv ↗ formát:
COOKIE_SIGNING_KEY=my-secret # commentSecrets Store secrets lze nakonfigurovat v konfiguračním souboru Wrangler jako obvykle:
{
"name": "my-worker",
"main": "./src/index.ts",
// Set this to today's date
"compatibility_date": "2026-08-28",
"secrets_store_secrets": [
{
"binding": "API_KEY",
"store_id": "demo",
"secret_name": "api-key"
}
]
}name = "my-worker"
main = "./src/index.ts"
# Set this to today's date
compatibility_date = "2026-08-28"
[[secrets_store_secrets]]
binding = "API_KEY"
store_id = "demo"
secret_name = "api-key"Osvědčené postupy
Konfigurace příkazů Build/Deploy: Pokud používáte vlastní build a deploy scripts ve vašem package.json (například při použití full-stack frameworku nebo spouštění migrací D1), Cloudflare automaticky rozpozná a předvyplní pole pro sestavení a nasazení. Uživatelé mohou během konfigurace nasazení vlastní příkazy upravit nebo přijmout.
Pokud žádný deploy skript není zadán, Cloudflare předkonfiguruje npx wrangler deploy ve výchozím nastavení. Pokud není build skript není zadán, Cloudflare ponechá toto pole prázdné.
Spouštění migrací D1: Pokud chcete jako součást nastavení spouštět migrace, můžete to uvést v package.json spuštěním migrací jako součásti vašeho deploy skript. Příkaz pro migraci by měl odkazovat na název binding, ne na název databáze, aby migrace proběhly úspěšně i v případě, že uživatelé zadají jiný název databáze, než jaký má váš zdrojový repozitář. Následující příklad ukazuje, jak nastavit sekci scripts ve vašem package.json:
{
"scripts": {
"build": "astro build",
"deploy": "npm run db:migrations:apply && wrangler deploy",
"db:migrations:apply": "wrangler d1 migrations apply DB_BINDING --remote"
}
}Zadání popisu pro bindings: Pokud chcete uvést další informace o bindings, například proč jsou v této šabloně potřeba, nebo doporučení, jak nastavit hodnotu, můžete popis přidat do package.json. To se hodí zejména u proměnných prostředí a secrets, kde uživatelé mohou potřebovat najít hodnotu i mimo Cloudflare.
Vložený markdown `code`, **bold**, __italics__ a [links](https://example.com) jsou podporovány.
{
"name": "my-worker",
"private": true,
"cloudflare": {
"bindings": {
"API_KEY": {
"description": "Select your company's [API key](https://example.com/) for connecting to the example service."
},
"COOKIE_SIGNING_KEY": {
"description": "Generate a random string using `openssl rand -hex 32`."
}
}
}
}Omezení
- Monorepa: Cloudflare plně nepodporuje monorepozitáře
- Pokud adresa URL vašeho repozitáře obsahuje podadresář, musí být vaše aplikace zcela izolovaná uvnitř tohoto podadresáře, včetně všech závislostí. Jinak sestavení selže. Cloudflare považuje tento podadresář za kořen nového repozitáře vytvořeného v rámci nasazení.
- Pokud navíc máte monorepo obsahující více aplikací Workers, nebudou se nasazovat společně. Pro každou aplikaci musíte nakonfigurovat samostatné tlačítko Deploy to Cloudflare. Uživatel pak pro každý podadresář ručně vytvoří samostatnou aplikaci Workers.
- Aplikace Pages: Tlačítka Deploy to Cloudflare podporují pouze aplikace Workers.
- Repozitáře mimo GitHub/GitLab: Zdrojové repozitáře odjinud než z github.com a gitlab.com nejsou podporovány. Podporovány nejsou ani self-hosted verze GitHubu a GitLabu.
- Privátní repozitáře: Aby mohli ostatní úspěšně použít vaše tlačítko Deploy to Cloudflare, musí být repozitáře veřejné.