Continuous Integration with Jenkins: Courses and Training
Requirements: basic programming knowledge in R, Python or another language, basic knowledge in Git
Before introducing continuous integration (CI) at INWT, we developed code for our data science projects in Git repositories, but only tested it manually during development. As a result annoying problems piled up as part of the regular releases. Typical causes for these problems are updates of package dependencies, encoding, incompatibilities on other platforms, failed tests, etc. Since releases in our data science projects are usually taking place according to fixed schedules, it quickly became stressful to keep the schedule and the quality standards.
The idea of continuous integration (CI) is to integrate changes in very small steps. With the introduction of CI tools such as Jenkins and Travis CI, we at INWT have the opportunity to detect bugs at an early stage, react immediately and thus ensure the quality of the code in the long term. The release process is almost automated and for every change to the code it is ensured that the data science project is executable and works just as expected.
Jenkins is currently the leading open source continuous integration system. With the ability to automate manual tasks, Jenkins has established itself as a CI tool for many of our data science projects, particularly with regard to unit tests, ETL processes and deployments. We simply wouldn’t want to work without it.
This CI training deals with the basic concepts of continuous integration using Jenkins as CI tool. Jenkins is very powerful and has it origin in software development. We focus on how to use Jenkins in your data science workflows to become more productive. We get to know the setup, the interface and the configuration options in Jenkins. Together we create different jobs in Jenkins, in step-by-step exercises you learn how to write Jenkins files and link them to Jenkins from a GitHub repository. The focus of our CI training is on:
- Costs and Benefits of continuous integration
- Set-up and configuration of Jenkins
- Creation of typical data science jobs in Jenkins
- Creation and integration of Jenkins files