Harness Git Experience Overview
Harness Git Experience provides seamless integration between your Harness Projects, Pipelines, and resources and your Git repos. You can work entirely from Git or use a hybrid method of Git and the Harness Manager.
This topic provides a summary of Harness Git Experience.
In this topic:
- What is Harness Git Experience?
- What Can I Do with Harness Git Experience?
- GitHub-specific Benefits
- How is Harness NextGen Git Support Different from FirstGen?
- Next Steps
What is Harness Git Experience?
Harness Git Experience provides seamless integration between Harness and your Git repos.
Here are some of the high-level features:
- Webhooks for your synced repos are added automatically: this keeps your repos and Harness is sync in realtime.
- Pipeline changes pushed using your SCM credentials: using your SCM credentials instead of a shared Harness account improves auditing and helps you see who made commits from within Harness. Using your SCM credentials also allows you to leverage Harness RBAC.
- Git-like UX from within Harness Manager: you can test Pipeline changes on a separate branch and then merge them to the main branch from within Harness. Harness Git Experience provides a full dev experience with repo, branch, and PR support.
- Flexibility: your Harness Pipelines and their resources (Connectors, Secrets, etc) can exist in multiple, separate repos and folders. At Pipeline execution, Harness pulls them all together to execute your Pipeline as you designed it.
When you sync Harness with Git you specify the repos and branches to use for your Harness Pipelines and resources. Harness then adds a .harness folder to these locations. These are called Harness Folders.
Harness does not enforce a specific format or structure within the .harness folder. You can use whatever subfolders you want for different files.
Harness Folders can reside anywhere in Git repos and their subdirectories.
Harness scans the .harness folder recursively to find all the config files in it.
You can define multiple repos with multiple Harness Folders per Harness Project.
What Can I Do with Harness Git Experience?
Harness Git Experience helps you do the following:
- Maintain Harness CI/CD/etc Pipelines alongside the code in your repos.
- Submit config changes using the Harness Pipeline Studio (GUI and/or YAML) or entirely in Git.
- Make Harness Pipeline or resource config changes in a branch, test it in isolation (sandbox), and submit changes to master using Harness Manager or your Git platform.
- Make code and Harness CI/CD/etc Pipeline changes within a single PR.
- Control who can make changes using Prod and Non-Prod configurations in separate repos.
- Audit which Git user accounts made config changes.
Harness Git Experience has the following GitHub-specific benefits:
- Uses GitHub App. See Use a GitHub App in a GitHub Connector.
- Improved security and tighter permissions.
- Uses service account.
- Larger rate limits.
- Richer integration using GitHub Checks API.
How is Harness NextGen Git Support Different from FirstGen?
If you're a Harness FirstGen user, you're likely familiar with Harness Git Sync. The following table shows the differences between Harness FirstGen Git Sync and NextGen Harness Git Experience:
Bi-direction Git sync
Primary data source
Optional Git sync
User credentials support
Automatic Webhook integration