What is continuous integration?
In the event that you haven’t used continuous integration systems in the past, let’s do a quick run through of what it is and how it can be useful.Development can be really difficult, especially when working with complex systems that require multiple applications. Bugs always seem to find their way into critical sections if you aren’t careful. Continuous integration, at a high level, creates a process where modifications can be made to your code in smaller, easily tested portions. This allows your production environment to contain fewer bugs at any time and an overall more efficient output.Algorithmia’s CI for machine learning means you can define end-to-end tests in your TEST_CASES.json
file and restrict algorithm publishing to just the automated deployment tool. You can ensure that any new version of your algorithm that reaches production must have passed at least the tests you’ve set up before doing so. This can be a really powerful function, as it means you can be more confident when bringing on engineers from different teams who might have less experience with your source code than you do, and build faster without sacrificing safety and reliability.
Hello world with Algorithmia CI—a procedure
Let’s take a quick look at how you can implement Algorithmia CI into your algorithm today!A full working example can be found here: https://github.com/algorithmiaio/algorithmia_ci1. Start by using our GitHub CI workflow to create a new algorithm using the Algorithmia wizard. Make sure to select GitHub as the repository host:
2. After your algorithm is created, there are two files you will want to copy into your algorithm’s repository. The easiest way to do this is to git clone your algorithm to your local machine.
3. Create the following directory structure in your algorithm repo at the root level: .github/workflows
and then create a main.yml
in the workflows directory. Copy the following into the file: