Since the release of the recent improvements to Now + GitHub for building every push, aliasing the default branch, and instant rollbacks, we have been continuing work on delivering the best deployment experience for teams.
We are happy today to announce the latest updates to Now + GitHub:
  • An improved setup flow with a failsafe for incomplete installations.
  • Link a GitHub account with a ZEIT account within your settings to log in with your GitHub account.
  • Configure Now + GitHub for greater control over Now's deployment behavior.
In some cases, the installation process of Now + GitHub may not be successful and remain pending. A few possible reasons for this are:
  • Limited permissions in an organization, requiring a request for the admin to approve.
  • Closing the page during the installation process.
  • Internet connectivity issues interrupting the installation.

The connection section in the account settings page.

For these situations, even though it appears on GitHub that the integration has been installed, we are not able to deploy application due to the installation not being complete in our system.
To fix this previously, you had to uninstall the app and add it back from your account, which was not a seamless and easy process.
Today, we are releasing a new simple process for completing the installation process when it had previously failed.
If the installation is incomplete, clicking on the commit status link will take you to our new and natural installation completion flow.
When the installation is completed, the commit which the status was clicked, and every subsequently new push, will build and deploy.

The Now + GitHub installation completion flow starting from a failed build on a commit.

The ability to log in or sign up with GitHub has existed for a while, but what happens when you already have a ZEIT account with an alternate email to that of your GitHub account?
Previously, this would cause a new ZEIT account to be created with the email of the GitHub account.
Today, we're happy to make available a way to connect your GitHub account to your ZEIT account, no matter what email is on either account.
To connect your accounts, go to your account settings and click "Connect your account" in the "Login With GitHub" section.

The connection section in the account settings page.

Logging in with your GitHub account will now be possible.
Sometimes the default behavior is not what you want to happen. In these cases, we provide configuration options, for use in a now.json file, to customize Now + GitHub to your intention.
By default, we automatically alias the default branch (usually master) if there is an alias field in the now.json file. To disable aliasing automatically, use the github.autoAlias option in your now.json configuration:
{
  "alias": "my-zeit-website.com",
  "github": {
    "autoAlias": false
  }
}

This configuration represents a now.json file with an alias listed and Now + GitHub auto-aliasing disabled.

If the Now + GitHub app has been installed and there is a now.json file in an enabled repository, we will start building the app for every git push.
Note that since each push to Now is assigned a unique deployment URL, these deployments will not affect your production URL unless you have an alias setup and have not disabled auto-aliasing or even Now + GitHub entirely.
Sometimes deploying with Now + GitHub can cause unexpected behavior. One such case is when your app is a background worker, and it starts accepting tasks or jobs even though you did not alias it to production.
In such a case as a background worker, you might want to stop Now + GitHub support for that repository completely. To do that, add the following option to your now.json file.
{
  "github": {
    "enabled": false
  }
}

This configuration represents a now.json file with Now + GitHub disabled.

We are always working towards providing the best experience for deploying. The improvements we have shown today for Now + GitHub are another step for us in reaching that goal.
To read more about setting up and using Now for GitHub, read our documentation.
If you have any feedback or questions based around Now + GitHub or anything related to ZEIT, please don't hesitate to reach out to us.