Add a CodeCommit Repo
This topic outlines how to start syncing your Harness account and applications with one or more AWS CodeCommit repositories. You add these repos as Source Repo Providers in Harness, as covered below:
- Before You Begin
- Step 1: Add Source Repo Provider
- Step 2: Display Name
- Step 3: HTTPS/SSH
- Step 4: URL
- Step 5: Username and Password/Token
- Step 6: SSH Key
- Step 7: Branch Name
- Step 8: Customize Commit Attributes (Git Sync Only)
- Step 9: Usage Scope
- Step 10: Test and Save
- Next Steps
Before You Begin
- One Harness Application cannot be in multiple repos.
- Before Harness syncs with your Git repo, it will confirm that all Harness' settings are in a valid state. If a connection is not working—for example, a connection to an Artifact Server or Cloud Provider—Harness will not sync with your Git repo.
Step 1: Add Source Repo Provider
To add a source repo, do the following:
- Click Setup.
- Click Connectors.
- Click Source Repo Providers, and then click Add Source Repo Provider. The Git Connector settings appear.
Step 2: Display Name
Enter a name for the repo connection. This is the name you will select when you sync your Harness account and applications in Configuration as Code.You could create a Source Repo Provider for the Harness admin account, such as Admin_CodeCommit. Later, you can create a Source Repo account for each Harness user, such as J_User_CodeCommit.
Step 3: HTTPS/SSH
Select HTTPS or SSH for the connection. You will need to provide the protocol-relevant URL in URL. If you use Two-Factor Authentication for your Git repo, connect over HTTPS or SSH.
ssh-keygen -t rsa -m PEM
-m PEMensure that the key is RSA.
Next, follow the prompts to create the PEM key. For more information, see the ssh-keygen man page and Connecting to GitHub with SSH.
Step 4: URL
Enter the URL for your Git repo. Ensure that it matches the option you selected in HTTPS/SSH.
Step 5: Username and Password/Token
In Select Encrypted Password/Token, select or create a new Harness Encrypted Text secret for the credentials of your CodeCommit user account.
Step 6: SSH Key
If you selected SSH as the connection protocol, you must add the SSH Key for use with the connection.
In SSH Key, select or create a new Harness Encrypted Text secret.
If you added a key in Harness Secrets Management, you can select it here. To add a new key, click the drop-down and select Add New SSH Key. The SSH Configuration dialog appears.
In User Name, enter the SSH Key ID that was generated when you uploaded your SSH public key to CodeCommit.
In Credentials, paste in the key or key file path, enter a display name, and then click Submit.
Step 7: Branch Name
Enter the branch name to sync with Harness, such as master, dev, or myAppName. Do not enter the full URL to the branch.
Step 8: Customize Commit Attributes (Git Sync Only)
When Harness commits or pushes a change to Git as part of syncing, it uses Harness.io and firstname.lastname@example.org as the author and commit email address of that commit.
In some cases, you might have strong pre-commit limitations on who may or may not commit. In that case, you need to provide an author name and email that is approved to push on that repo. You can add an Author Name and Author Email address that will be applied whenever Harness syncs with the Git repo.
Step 9: Usage Scope
For HTTPS connections, usage scope is inherited from the secret you entered in Select Encrypted Password/Token.
For SSH, connections, select the Harness Applications and Environments where the connection may be used.
Step 10: Test and Save
To finish configuring this Source Repo Provider:
- Click Test. Harness verifies the settings you entered.
- When testing is successful, click Submit. This Source Repo Provider is now added to Harness.
- Once a Source Repo Provider is set up, you can use it—at the Harness account level and Application level—to sync your account and/or applications with your Git repo. See Configuration as Code.
- To trigger Harness workflows and pipelines using Git Webhooks, see Add a Trigger.
- To sync and clone a Harness Application template in Git, see Onboard Teams Using GitOps.