Automatically deploy your GitHub branches and pull requests

Augustin Delaporte
04 May 2015

Have you ever dreamt of automatically testing and reviewing every single feature from your GitHub repository on a production-like environment with a dedicated URL?

Today, the dream has come true!

Using the new GitHub integration provided by Platform.sh, you can automatically deploy, for every branch and/or pull request on GitHub, a complete isolated production-like environment with a specific URL that you can use and share.

How does it works?

Follow the documentation to activate the GitHub integration.

You can check and update what your integration is tracking using the Platform.sh CLI

Platform integration cli

Let’s say you are tracking pull requests. Starting now, every pull request that you open will trigger a deployment on Platform.sh.

Here is an example with two pull requests:

Github pull requests

You also get the status of the deployment in the pull request page. The  details  link will automatically redirect you to the environment on Platform.sh:

Github status

What happens is that the GitHub integration is pushing your changes on your branch directly to the Platform.sh Git remote:

Platform UI

When you merge the pull request, the environment will also be merged in Platform.sh which correspond to a deployment of the parent environment. You can then use this simple workflow to deploy in production directly.

How about a private repository?

It works exactly the same way with private GitHub repositories.

The only difference is that you need to grant access to the following scopes to the token:

  • public repository:  public_repo repo:status
  • private repository which belongs to yourepo repo:status
  • private repository which belongs to an organizationrepo repo:status read:org

What about other integrations?

You can already integrate with HipChat.

We’re currently improving the GitHub integration and implementing many others.

Follow us on Twitter to stay up to date.