# 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

# Summary