Coalesce supports most git providers including GitHub, Bitbucket, Azure DevOps, and GitLab, in both a cloud-based ☁️ and self-hosted 🏢 implementations. A list of officially supported Git providers can be found in the Git Settings section of the Coalesce Documentation.
There are a few guiding principles you need to keep in mind 🧠 when setting up your Git Repository for use with Coalesce.
Repository Exclusivity
Coalesce recommends that a dedicated Git repository be provisioned specifically for Coalesce vs. sharing a repository with other development projects and code bases.
The only assets in the repository used for Coalesce should be those created during Coalesce development. Integrating other development projects and code bases into the repository utilized by Coalesce can lead to unexpected behavior.
Network Connectivity
Your Git Repository must be reachable by the Coalesce services. This is especially relevant to self-hosted Git implementations but also applies to cloud-based implementations that leverage network policies to limit traffic to Git.
A full list of IPs and domains to which connectivity must be allowed can be found in the Warehouse Whislisting and Allow traffic to Coalesce services sections of the Coalesce Documentation.
Developer Access
Each Coalesce developer must be provided, at a minimum, read + write access, within your Git provider, to the Git repository that they will develop against in Coalesce.
Authentication Token & Token Scope
Coalesce connects to Git via an authentication token tied to an individual user (and potentially an individual repository for an individual user depending upon scope) vs. via username and password authentication. Each Coalesce developer must configure their Git account settings, inclusive of an individual authentication token, for each Git repository/instance they need to connect to in the Git Accounts area of their User Settings in Coalesce.
The authentication token provided must be configured with a scope that allows for read + write privileges on the target Git repository at a minimum. If you don't wish to grant Full Access to the token, we recommend the following permissions:
GitHub
- repo: all
- packages: read & write
Azure DevOps
- Work Items: Read, write, & manage
- Code: Read, write, & manage
- Packaging: Read, write, & manage
Bitbucket
- Repositories: read & write
For more information on configuring access tokens, see the Generate an Authentication Token section of the Coalesce documentation.