Continual integration, delivery and deployment of a Springboot Application

10/23/2018

I have an assignment to continually integrate, deliver and deploy a Springboot application with Angular using: Gitlab CI, Docker, Kubernetes, Jenkins and SonarQube. My assignment name was as the question is titled with using the technologies described. Any help would be much appreciated. I've already searched the web and learned about these technologies. My question is: How and where to start, which steps should i define so I could complete my assignment? Any help would be much appreciated

-- Edmond Gottstein
docker
jenkins
kubernetes
sonarqube
spring-boot

1 Answer

10/23/2018
  • Make a repo in gitlab with branches test and prod
  • Setup docker image build pipeline ( for both the branches ) that will build/test the code and package it in docker image using multi state build ( gitlab CI)

  • Configure a webhook that triggers a deployment to test environment ( either in jenkins or gitlabci)

  • Configure a downstream job that can be run manally to deploy to production ( in jenkins or gitlab CI)

  • In both the deploymenet steps above you will need the declatrivate deployment manifests for kubernetes

The above are just basics , there are many other tools that can be used for kubernetes deployments.

The usual approch is to commit code to testing/dev and then build/test the docker image and triger test deployment as soon as the image is arrived in registry. if everything goes well , then you just port the change to prod branch that will trigger the pipeline again for building/testing the prod image followed by deployment.

-- Ijaz Ahmad Khan
Source: StackOverflow