# CI/CD cycle and Decision Process
In this tutorial we demonstrate the following concepts of the ECiDA platform:
- environments
- lifecycle of ECiDA applications (and corresponding modules and pipelines)
- CI/CD cycle and integration with gitlab
- decision process around application
- interaction with the ECiDA platform via user interface
# Prerequisites
To run this tutorial, we presume that the user has a pre-configured ECiDA environment. In our case we will use the HPC Merlin (opens new window) cloud environment provided by University of Groningen. An environment is created by a terraform/salt, and could be found at ecida/cloud-development-environment (opens new window).
We also pre-configured the environments in the ecida k8s cluster as defined in ecida/ecida-setup (opens new window).
We will use a typical "Hello, world!" data science example in this tutorial: we will use ECiDA to predict the house prices on an existing data set.
For simplicity, we presume that the modules and corresponding pipelines and modules have already been implemented and is available in git (yaml files) and registry (images of containers for modules).
# Step-by-step Tutorial
# Step 1: Overview
Outline:
- overview of the ECiDA platform using UI
- environments (development, testing, production)
- repository (empty at the moment)
# Step 2: Deployment to Repository
Outline:
- deploy to repository
# Step 3: Starting in Development
Fake data is used
# Step 4: Moving to Testing
Real (different) data is used
# Step 5: Deploying 3 pre-configured what-if scenarios
3 new applications are run, with 3 different sets of hyper-parameters
# Step 6: Moving to Production
One of the runs is chosen as good, and deployed to production