Continuous Integration and Continous Delivery

The project environment consists of multiple loosely coupled, independet microservices. This characteristic requires strict and disciplined orchestration of the whole context. Therefore, the following automation mechanisms were introduced in terms of satisfying the CI/CD idea, to ease the deployment process and provide the latest features directly to the end-users:

Following these steps, a proper contribution towards the CI/CD philosophy is made. Moreover, it is a clean way of accomplishing and mastering the microservice architecture environment by automating as many aspects as possible.

The Jenkinsfile can be found here. It consists of the following stages (parts):

  1. Notification via Discord that the Jenkins Pipeline is triggered (the build is started)
  2. Relevant repository is cloned
  3. Docker builds the image of the service
  4. Automated tests (if specified) are executed
  5. The tested image is pushed to the deployment server
  6. Notification via Discord that the Jenkins Pipeline is finished (the build has finished)
  7. If an error occured at any stage: Notification via Discord that the Jenkins Pipeline ran into an error (the build has failed)