Skip to main content

Version Control with Git

info

This feature is only available on Holistics 4.0 (Analytics As-Code). Learn more about migrating.

Knowledge Checkpoint

This section assumes that you are familiar with Git and Version Control concepts. In case you need a refresher, here are some excellent materials:

Introduction

In Holistics, all of your analytics code is version-controlled with Git. This means you can enjoy the benefits of Git within the Holistics development environment, such as:

  • Isolated environment: Multiple data builders can work on different code branches without blocking each other
  • Audit logging: Keeping track of the changes made to your analytics code base, knowing who modified what
  • Applying code review procedure to double-check, approve, and disapprove changes. Deploy only when you are confident with your changes
  • "Time-traveling": Reverting to a previous version in case something bad happens

The basic features of Git are made accessible via the friendly graphical interface of AML Studio. On the other hand, advanced users still have access to all underlying Git features by using the command line.

Enable Git Work Flow

Simply go to Modeling 4.0 > Settings tab > click "Enable Git Workflow".

By default, Holistics will use the Holistics Repository to keep track of code changes. You can also connect to an external repository that you manage yourself.

High-level Workflow

A typical workflow in AML Studio involves the following operations:

  1. Enable Development Mode: In Modeling 4.0 page, the Production mode is a "read-only" mode where you will see codes in the master branch which was already deployed to production. To start making changes, simply toggle to Development mode.

  2. Prepare your branch:

    • Work on an existing branch: In case you return to work on an existing branch, and the branch's code is already out-dated compared to production, you will need to click Pull from production to update your branch.
    • Create a new branch: You can also create a new branch out of the master branch to have access to the most up-to-date code, or create a new branch out of a development branch to further test your ideas.
  3. Make changes & record changes: After making changes in your code base, you need to Commit and Push to record the changes to your code base. You can easily abort the changes that you have not committed, or even restore to a previously committed version.

  4. Validate Reports: Before publishing your new changes to Production, it is advisable to use the Report Validation feature to check if the changes have broken any downstream reports.

  5. Publish: After you have validated your code and committed all changes, click Publish to deploy your changes to Production, and so available to end-users.

In reality, the development workflow may not be so straightforward. Here are some other operations that you may need to know about:

Mechanism

The version control feature of Holistics is powered by Git. Behind the scenes, Holistics tracks analytics code changes with one of the following:

  • Holistics (System) Repository: A Git repository that Holistics hosts and maintains internally on the server.
  • External Repository: Repository that sits on customers’ servers or Git providers (like Github or Gitlab)

The Holistics Repository is in use by default. However, once you have connected to your own external Git repository, Holistics will only use the external one.

Without External Git repository

With External Git repository


Let us know what you think about this document :)