Skip to main content

Work with an external Git repository

danger

Ensure that your external Git repository must be a bare repository. It must not have any commit, or contain any default file like README.md, LICENSE.md, etc.

(This feature is currently in active development. Please reach out if you want to become beta tester)

Why you should connect to an external Git repository

  • You can have a backup version of the analytics code.
  • You can apply proper data governance and quality control protocols by enforcing review (i.e pull requests/merge requests) before someone click Deploy to production.
  • You can leverage your own local editor (i.e VS Code) to manage Holistics modeling layer and push changes back to Holistics conveniently.

How to connect to your External Git repository

  1. Create an empty Git repository (without a README) hosted at GitHub or GitLab.

    If you use Github to initialize a new repository

    Be careful not to select these options to create default files when initializing a new repository in Github:

  2. Navigate to the Version Control Settings page.

  3. Get the SSH URL for the external Git repository.

  4. Paste the SSH URL into the “SSH URL” field on the Version Control Settings page.

  5. Copy the Deploy Key which Holistics provides on the Version Control Settings page and paste it into the Settings for the repository:

    • Be sure to select the Allow write access option because Holistics requires this setting in order to make and deploy changes.
  6. Navigate back to the Version Control Settings page and click Test connection.

  7. Once the connection is successfully established, a new master branch appears in the repository, along with a set of folders, one for each object type that is synced. Holistics will then sync with the master branch in the repository as the Production branch.

Important Notes

  • Any changes made in Holistics will be synced to the External Repository at the corresponding branches
  • Any changes merged into the master branch in Git will be reflected in the Holistics. However, it won't affect your production directly. You will need to pull changes from master branch and merge to your current branch in Holistics. After that, you can click Deploy to production.

The workflow when using AML studio with External Git repository

Besides 3 simple steps when using Holistics' default repository, the workflow should include a manually enforced Pull Request (PR) process in External Git Repository.

The workflow when using AML studio with External Git repository

⚠️ IMPORTANT: After pushing, do not click Deploy right away.

Instead, go to the external Git repository, and create a PR. Ask for review from another team members.

  • If the PR is approved, merge the PR to master. Then go back to Holistics AML studio and Deploy.
  • If the reviewer request some changes, go back to AML studio, add more changes, and push. Repeat the review process.

Let us know what you think about this document :)