The Domo Development Lifecycle, or DDLC, allows users to manage Domo content across any number of Domo instances. Meaning this functionality can be used for both BU/DR and CI/CD. Because it sits on top of Git, users have support for full version control for their Domo content, including Cards, Pages, Card Alerts, and more to come. Connector settings and Custom Roles are in the works.
Requirements to use
- Basic knowledge of Git.
- Java installed on your machine.
- Domo CLI.
- This can be downloaded in the Admin settings in the Tool Downloads section.
- For information on how to use the Domo CLI tool, please reference: Command Line Interface (CLI) Tool
Please reach out to your Domo Representative to get this feature enabled in your instances, such as your Customer Success Manager or Account Executive.
Once this feature is enabled in your instances, and you have the latest CLI downloaded and usable, you are ready to go.
In the CLI there are two commands that will work together to use this feature, git-commit and git-promote.
The first is what gets the Domo content and then pushes that version to your Github Repository. The second is what will grab the version you specify from your Github using the commit hash, and then push the content associated with your commit hash to your desired instance, either creating new content, or updating and overwriting existing content.
To get options and more information available to you on this commands, use the help command in the CLI.
E.g. help git-commit
Each command mentioned above must be proceeded by the connect command. See here for more information: Command Line Interface (CLI) Tool
In order to commit successfully using the git-commit command, you need a Git Repository created, and you need to have committed to the Repository once already, so that you have a master branch created. A simple README will suffice, and can be easily added to your Repository through the Git website.
In order to promote successfully, you need to have a mapping of DataSets that your Cards and/or DataFlows use in your originating instance, to the DataSets you want the newly created Cards and DataFlows to use in your destination instance. These DataSets need to have identical schemas in order to work successfully.
If you decide to use the mapping file option instead of the interactive mode for promoting content, the format is as follows for mapping origin DataSets Ids to destination DataSet Ids:
You can also search DataSets by name in the destination using the "dn" option. However, if there is more than one DataSet found with the same name, your promotion will give you an error.
5f797e0c-6835-4357-89c5-12ca4a866e3d,"Test DataSet Name"
cb5f2baa-9559-4f1a-8c8d-068797c21937,"Test DataSet Name 2"
59163e89-23bf-4267-a32e-bcd5ffae5004,"Test DataSet Name 3"
98394777-d1ab-43a5-8cd5-f210acad4d5e,"Test DataSet Name 4"
a7a096c1-4c5f-4842-b5ed-4c248cbb1b5b,"Test DataSet Name 5"
Because this feature is so new, you may run into problems committing and/or promoting content that is also in Beta, such as Magic ETL V2 DataFlows.
There are many useful features in Domo available to you, and the DDLC feature may not work with all the features that you have enabled that may enhance how Cards, DataFlows, or DataSets work in your instance.
Card Alerts are directly connected to the Card in this feature. When you commit a Card, it will also commit the Alerts related to it. The same goes for promoting the Card to instances. The Card, and it's associated Alerts, will be updated and overwritten upon promotion.
We are rapidly updating this feature, so if you run into any issues, make sure to download the newest version of the Domo CLI to get the latest updates.
If you run into issues and you are on the latest Domo CLI, please reach out to Domo Support and we will work on getting your issues resolved in a timely manner.