← back to flaviocopes.com

GitHub Actions deploy workflow generator

← All tools

Pick where you deploy and how — get a complete.github/workflows/deploy.yml plus the list of repository secrets you need to set, with instructions on where to get each one.

~~~

Deploy target

~~~

Options

~~~

.github/workflows/deploy.yml

~~~

Secrets you need to set

Add these in your repository under Settings → Secrets and variables → Actions → New repository secret.

~~~

What the steps do

Save the file as .github/workflows/deploy.yml in your repository. The workflow appears in the Actions tab after the first push, and every generated workflow includesworkflow_dispatch (except when you pick manual-only, where it's the sole trigger) so you can re-run deploys by hand.

~~~

About this tool

A deploy workflow is the difference between "deploying from my laptop and hoping" and a repeatable process: every deploy runs the same steps, on a clean machine, with the credentials stored once as repository secrets instead of sitting in someone's shell history.

The structure is the same everywhere — check out the code, set up the runtime, install, optionally test and build, then one target-specific deploy step. What changes per platform is that last step and which secrets it needs: an API token for Cloudflare, a deploy token for Fly.io, an SSH key for your own server, an npm token for the registry.

None of the generated workflows echo secrets or pass them on the command line — they go through env or action inputs, which GitHub masks in logs.

~~~

Read more