Continuous Integration

Sentry uses a variety of continuous integration services to help ensure we don't accidentally break the application.

GoCD is used for deployments. Please refer to the internal user guide.

GitHub actions is our primary CI system and runs our tests on every pull request and on merges to master. It is required that tests pass before changes can be merged.

We use Google Cloud Build to build our Docker containers. Every single commit (including from PRs) gets built, tested and becomes available at us.gcr.io/sentryio/sentry:<sha> with no retention guarantees. Every push to master gets built, tested and pushed to Docker Hub permanently. You can set SENTRY_IMAGE to the following, when working with getsentry/self-hosted:

  • getsentry/sentry:<sha>, getsentry/sentry:<short_sha>, or getsentry/sentry:latest to pull from a commit in getsentry/sentry master
  • us.gcr.io/sentryio/sentry:<sha> to pull from a commit in any other branch or PR

See Workflow.

You might also be interested in troubleshooting the dev environment.


Problem:

When pushing your build to staging and you it fails the Ensure test image step on Travis.

Solution:

You probably forgot to push your branch on Sentry to GitHub.

For historical reference, we used to use Travis and Percy which have been replaced by GitHub actions and a GitHub action respectively.

Help improve this content
Our documentation is open source and available on GitHub. Your contributions are welcome, whether fixing a typo (drat!) or suggesting an update ("yeah, this would be better").