FAQ: How do I integrate Domino with my CI/CD pipeline?
If you use Domino, particularly if you commit from Domino to your company's git repos, you may be wondering how you can integrate with your CI/CD pipelines. (If you're not familiar, CI stands for Continuous Integration, and CD usually stands for Continuous Delivery or Continuous Deployment. These are tools used to standardize a software development practice for an organization.)
The short answer: Usually you can just keep doing what you do today. If you commit to a git repo from Domino, you just set up the Domino project to allow you to work on the desired branch of your git repo, and you're good to go. Anything else you want to do to create pull requests or merge work can be done as you normally would outside of Domino, with your usual tools.
The longer answer: Most of the time CI/CD jobs are not kicked off at commit or push. Rather, they are kicked off with a pull request (PR). So, if you’re using git based or imported git repos, you do your normal thing with git. Then when you create your PR, that would kick off the CI/CD job. If you need to run tests, this could be more involved: If you're using normal software engineering-like tests that are run quickly without the need of massive data, then you do it like you’d normally do it. Typically you’d set up your CI/CD job to run those tests. Alternatively, you could run those tests within Domino as you develop, in the same way that you normally run tests. The edge case is if you need to kick off tests with CI/CD with massive data or some artifact (like a large model file) within Domino. You could do that with a Domino API, since you’d need access to Domino datasets or other large files that don’t fit in Git.
If you have questions, or if you've tried a similar workflow, we'd love to hear from you. Drop us a line in the comments or send us an email at [email protected]
Field Data Scientist @ Domino