Continuous Integration Continuous Delivery

Business case

20 Dec 2019
Digipolis faced the challenge of designating tasks that require very specific knowledge on CI/CD internally. As CI/CD is not an isolated project but a company wide implementation, they were looking for a partner to support them at peak moments.

Digipolis Service Factory is developing and offering various microservices for most common business requests. Pauwels Consulting is supporting Digipolis in the implementation of good continuous integration and continuous development practices in the Service Factory.

About

Digipolis is the ICT partner for the cities Ghent and Antwerp. They buy and develop software, implement hardware, network and telephony infrastructure. Next to the implementation activities, they coach employees in the city services and support their daily used applications and deliver high various ICT projects.

Challenges/Problems

red hat openshiftTo put the microservices into production, Digipolis does Continuous Integration / Continuous Delivery (CI / CD) within the Service Factory. For this Digipolis uses a set of tools that support this process. The team uses Red Hat Openshift as an application platform. Openshift is a Kubernetes platform on which one can implement Docker images containing many additional functionalities that have been built. Almost all tools that have been built run on the Openshift platform, installed in two separate clusters. One cluster for dev & test and one production cluster, each with their own image repository, security polices and high availability rules.

 

jenkins nexus repository manager

 

 

 

 

All the tools required for CI / CD run on Openshift. The most important are Jenkins and Nexus Repository Manager. Jenkins is used to defining and executing the CI / CD pipeline. Digipolis had to start their pipeline manually and manual approval was also required to move from acceptance to production.

The pipeline stated which automatic tests were needed to perform, which builds are ready to make and where they will be rolled out. The pipeline is written in Groovy and has a declarative syntax. They use the Nexus Repository Manager as a cache of Maven and Red Hat repositories. They are also used for their own libraries and packages.

All source code of our microservices is shared via Github. Developers, employees of the Service Factory and system users of the different tools have access to the source code. This allows everyone to make and share adjustments quickly and easily where necessary. All CI / CD configuration is also merged with the source code of the microservices.

Digipolis faced the challenge of designating tasks that require very specific knowledge of CI/CD internally.

As CI/CD is not an isolated project but a company-wide implementation, they were looking for a partner to support them at peak moments.

Solution

The IT Department of Pauwels Consulting has a DevOps and infra competence center with expertise in both the Red Hat stack and Openshift stack and expertise in all the aspects of CI/CD.

We are helping Digipolis with various tasks:

    • Writing tests for existing and new microservices.
    • Setup of automated static code analysis in order to check for security issues, measure technical debt and report on test coverage.
    • Streamlining pipelines so all jobs use the same stages.
    • Reducing the size of the Jenkinsfiles by using shared pipelines.
    • Setup of GitHub webhooks in order to start all jobs automatically.
    • Implementing Open Shift’s new Jenkins client plugin.