Deploy your static site to the Fastest web hosting network in the world ⚡️ from the Greatest DX web hosting platform 🚀.
An awesome plugin to make you Netlify as a CI/CD tool for Cloudflare Pages
This is a simple plugin for Netlify to deploy your static site to Cloudflare Pages. This plugin is suitable for making CI/CD with Netlify, but hosting your static site on Cloudflare Pages.
Cause Netlify has a great Developer Experience CI/CD platform for many javascript frameworks.
Production
, Deploy Previews
and Branch deploys
(separated for each branches)But Cloudflare Pages is lightning fast ⚡️ and has much better network latency than Netlify. Your sites will deploy on Cloudflare's edge network that's the fastest network in the world.
See more about: Cloudflare Pages is Lightning Fast
This plugin is using Cloudflare Wrangler for under-the-hood to deploy your site to Cloudflare Pages.
It will run $ wrangler pages deploy <PUBLISH_DIR> --project-name=<PROJECT_NAME> --branch=<BRANCH>
command after Netlify build your site.
# npm
$ npm install -D netlify-plugin-cloudflare-pages-deploy
# yarn
$ yarn add -D netlify-plugin-cloudflare-pages-deploy
# pnpm
$ pnpm add -D netlify-plugin-cloudflare-pages-deploy
package_exec
: Package exec to use Eg. npx
, pnpx
or install wrangler
to devDeps and use npm
, yarn
and pnpm
instead (caching support and recommended this) Default: npx
deploy_target_branch
: Deploy target branch. For production deploy, use production
in this config. Default: use netlify current deploy branchwrangler
$ npx wrangler pages project create <PROJECT_NAME> --production-branch=main
Add Environment Variables to Netlify
CLOUDFLARE_ACCOUNT_ID
: Your target Cloudflare Account ID. See more: Find your zone and account IDs
CLOUDFLARE_API_TOKEN
: Your Cloudflare API Token (with Pages:Edit
permission) See more: Create a Cloudflare API token
CLOUDFLARE_PAGES_PROJECT_NAME
: Your Cloudflare Pages Project NameAdd this plugin to your netlify.toml
# for all deploy contexts (production, branch deploys, Deploy Previews).
[[plugins]]
package = "netlify-plugin-cloudflare-pages-deploy"
[plugins.inputs]
package_exec = "pnpx"
# for production deploy context. supports [`production`, `deploy-preview`, `branch-deploy`, `dev`]
[[context.production.plugins]]
package = "netlify-plugin-cloudflare-pages-deploy"
[context.production.plugins.inputs]
package_exec = "pnpx"
deploy_target_branch = "main"
Add wrangler
to your project and use your lover package managers likenpm
, yarn
or pnpm
to run wrangler
command instead npx
or pnpx
.
This will make your build faster cause Netlify always caching dependencies and wrangler
will be cached too.
yarn
and yarn
Workspace$ yarn add -D wrangler
[[plugins]]
package = "netlify-plugin-cloudflare-pages-deploy"
[plugins.inputs]
package_exec = "yarn"
pnpm
$ pnpm add -D wrangler
[[plugins]]
package = "netlify-plugin-cloudflare-pages-deploy"
[plugins.inputs]
package_exec = "pnpm exec"
pnpm
Workspace$ pnpm add -D wrangler --filter <APP_NAME>
[[plugins]]
package = "netlify-plugin-cloudflare-pages-deploy"
[plugins.inputs]
package_exec = "pnpm --filter <APP_NAME> -- exec"