Skip to content

Devops Pipeline

The image below defines the code/compile/deploy model used in the io{hub} team.

DevOps Pipeline

No (current) project has the scale requirements for a Kubernetes-based deployment, so we use docker-compose for simple container-based architecture orchestration.

1. Development

  • This is the code component of the build.
  • All code is developed and pushed to a relevant branch in devops.iohub.cloud
  • Once the developer is ready, the code is then merged into the main/master branch using an approved merge request.

Commands such as the below are useful

git clone <URL>
git pull
git add .
git commit 
git push

2. Build/Compilation

No development/customisation should happen in the build stage.

  • Simply pull the current master branch (git pull)
  • Build/package the container image based on the pulled code (package_<module_name>)
  • Push the container image/s into the gitlab hosted container registry (push_all)

3. User Acceptance Testing (UAT)

No development/customization should happen in the UAT stage.

  • Pull the latest container image/s (docker compose pull)
  • Update to the latest version (docker compose up -d)
  • Run tests (unit tests, user acceptance tests, penetration tests and any other pre-prod testing)

4. Production

Only after a UAT release has been active and tested against for 14 days, where all tests have succeeded, can the build be considered production-ready.