Configure SCM Providers / Git Providers

Configure SCM Providers / Git providers supported by Jenkins X

Jenkins X supports several different Git providers via webhooks (user-defined HTTP callbacks). These webhooks trigger the Jenkins X Pipeline execution, based on repository events such as a push to the master branch or the creation of a pull request.

The default webhook handler for Jenkins X is Lighthouse, which manages webhooks similarly to Prow. However, contrary to Prow, which only supports GitHub, Lighthouse supports a variety of Git providers.

The following sections describe how you change the Boot configuration to use the various supported Git providers. The configuration occurs in all cases via jx-requirements.yml.

GitHub

This is the default Git provider if you don’t specify one. Explicitly it is configured by gitKind: github such as the following example:

cluster:
  environmentGitOwner: myorg
  gitKind: github

GitHub Enterprise

GitHub Enterprise supports the same features as the github.com service but scaled for on-premises deployment on local networks.

The configuration is similar to the above but you need to specify the URL of the gitServer and gitKind: github. For example:

cluster:
  environmentGitOwner: myorg
  gitKind: github
  gitServer: https://github.myserver.com
webhook: lighthouse

Ensure you specify Lighthouse webhook handler by setting webhook: lighthouse.

Bitbucket Server

For Bitbucket Server specify the URL of the gitServer and gitKind: bitbucketserver.

cluster:
  environmentGitOwner: myorg
  gitKind: bitbucketserver
  gitServer: https://bitbucket.myserver.com
webhook: lighthouse

Ensure you specify Lighthouse webhook handler by setting webhook: lighthouse.

Bitbucket Cloud

For Bitbucket Cloud specifygitKind: bitbucketcloud.

cluster:
  environmentGitOwner: myorg
  gitKind: bitbucketcloud
webhook: lighthouse

Ensure you specify Lighthouse webhook handler by setting webhook: lighthouse.

GitLab

For GitLab specify the URL of the gitServer and gitKind: gitlab.

cluster:
  environmentGitOwner: myorg
  gitKind: gitlab
  gitServer: https://gitlab.com
webhook: lighthouse

Ensure you specify Lighthouse webhook handler by setting webhook: lighthouse.