Skip to Content
Greyship Docs

Deploy from GitHub

Import a repository in the dashboard; pushes deploy automatically.

You don't need the CLI or Go installed to deploy from GitHub.

Import a repository

  1. In the dashboard, click New project.
  2. Either create your GitHub App (one click, once: New project or Settings → GitHub) and install it on the repositories you want, then pick one, or paste a public repository's link (https://github.com/owner/repo, optionally /tree/<branch>).
  3. Greyship creates the project and shows a review page before anything deploys: every service it found, its type and why, the release command, skipped folders, or the problem that would stop a deploy.
  4. Set your env vars there. Names from the repo's .env.example are suggested; you can paste a whole .env file.
  5. Click Deploy.
GitHub appPublic link
Private reposyesno
Deploys on pushyes, to the connected branchno: click Deploy latest (or grey github deploy)
Commit status on GitHubyes (pending, then ✓ or ✗, linking to the deployment)no
Setupinstall the app once per GitHub account or orgnothing

Push to deploy

With the app, every push to the connected branch (the repository's default branch unless you chose another) deploys to production. GitHub deploys are built on Greyship and use the project's stored env vars: .env files in the repository are never read.

Every GitHub-connected project has Deploy latest, which deploys the branch's newest commit. A commit that's already live or deploying isn't deployed twice; one whose deploy failed can be deployed again, for example after you add a missing env var.

From the CLI

grey github install                       # opens the page that installs the app for your team
grey github repos                         # repositories the app can read
grey github connect acme/shop             # pushes to the default branch deploy this folder's project
grey github connect acme/shop --branch prod
grey github import https://github.com/acme/public-api   # a public repo by link, deployed at once
grey github deploy                        # deploy the connected branch's latest commit

Coming soon

  • A preview deployment with its own URL for every pull request.
  • Choosing any branch to deploy from the dashboard.
  • Submodules (GitHub's archives don't include them).

On this page