Continuous integration
Continuous integration and continuous delivery/deployment involves automating all possible processes in your development cycle, such as testing or deploying. This should be considered when you are expecting to work on a codebase for an extended amount of time or with a group of people in order to save time in the long run. The choice of CI/CD technology depends on the platform you are using to store your code. We strongly recommend you to define Continuous Integration if you wrote tests for your application or regularly need to publish some packages.
Checkout the workshop
See our IDS CI/CD workshop to package and define Continuous Integration workflow for Python with GitHub Actions.
GitHub Actions#
For GitHub
Recommended if your code is hosted on GitHub.
GitHub Actions workflows are defined as YAML files in the .github/workflows
directory in your code repository.
Find actions to easily perform common tasks in the GitHub marketplace, and use Bash
commands to run your scripts, and installation process.
GitHub Runner can be deployed on any server to run privacy sensitive workloads outside of GitHub servers.
GitLab CI#
For GitLab
Recommended if your code is hosted on GitLab.com or GitLab hosted at UM.
Workflows defined as YAML files in your code repository.
GitLab Runner can be deployed on any server, and Kubernetes cluster.
Jenkins#
For on-premise
Recommended if your build is privacy sensitive and need to run on-premise without any tie to code repositories.
Contact Vincent Emonet ๐ฌ to discuss running Jenkins workflows on IDS servers.