Skip to content

How It Works

Configuration

When preview environments are configured for an application, Nullstone will create a webhook in the GitHub repo associated with that application.

Github Webhook

It is configured to trigger the webhook for Pull Request events. With this configuration, the Nullstone webhook will be called for all the events needed to operate preview environments. Some of these events are:

EventAction Taken
Pull Request openedCreate and launch preview environment
Pull Request closedDestroy preview environment
Pull Request reopenedCreate and destroy preview environment
Commit to PRDeploy the latest code to the preview environment

Creating the Environment

When a PR is opened (or reopened) for a repo, Nullstone will create preview environments for each application linked to the GitHub repo. You can have multiple applications (from multiple stacks) linked to the same GitHub repo. For each of the stacks, a new environment will be created.

The name of the environment created is based on a combination of the PR name and the PR id. This ensures that the environment name remains unique for each PR. If the PR name is f153 add user profile and the PR id is 1242475871, then the preview environment name will be: f153-add-user-profile-1242475871. All the whitespace characters are replaced with dashes and the PR id is appended to the end.

To create the environment, Nullstone also needs to know which cloud account to use when launching. In the first step of setting up preview environments, we configured a cloud account and region for the stack. This account and region will be used for each preview environment created. This means all the infrastructure launched for all your preview environments will be in this same account and region.

Status Reporting

As Nullstone launches your preview environments, the status is reported back to the GitHub PR. Status of both the infrastructure launch and the code deployment can be seen in the pull request checks. Github PR Status

Events that occur during the lifecycle of launching your preview environment are posted to the PR as comments. Included in these comments are links to the environment in Nullstone and to your application. Github PR Comments

Debugging

If preview environments are not being created or destroyed as expected, check for any new status checks or messages on the GitHub PR. As Nullstone is performing a launch or code deployment, it will either show successful status checks and messages or it will show failures and post error messages. These messages should provide enough guidance to help you debug the issue.

In the example below, an error occurred while deploying the code for this preview environment. The Details link will take you to the Nullstone dashboard where you can view the logs for the deployment. Preview Environment Error

The second place to check are the Recent Deliveries for the webhook. From the GitHub repo, navigate to Settings > Webhooks and select the webhook for the Nullstone application. From there, you can view the Recent Deliveries tab to see all the webhook calls, their payload, and their status.

Github Webhook Deliveries

Any failed webhook calls should be reported to Nullstone support at support@nullstone.io.