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.

Last updated on by Vincent Emonet