Skip to main content

DevOps and CI/CD

Industrialising the delivery pipeline and moving to GitOps

From quarterly releases to twenty-two releases in eight months

Établissement financier régional (exemple) - 2024-05 - 2024-12

Demonstration sample: this case study illustrates the Codexway method and does not refer to a real client.

Context

Seven Java applications and three front-end applications delivered by one IT department, with different integration pipelines per team. Releases happened on Friday evenings, with a handwritten deployment file and manual server interventions.

Problem

A release required six hours of work, failed one time in four, and rollback relied on restoring a database backup. No reliable record showed which version was deployed in which environment.

Objectives

  • Standardise integration and delivery pipelines across teams
  • Make deployments reproducible and reversible
  • Shorten the delay between a validated fix and its release

Role

Owner of the industrialisation workstream, with occasional support from an external security architect on the dependency control chain.

Solution

The initial diagnosis measured the existing pipelines: an average of seventeen minutes for tests, ninety-two minutes for the full pipeline, with a twenty-three percent failure rate of which a third came from infrastructure causes. Those measurements became the baseline throughout the project. A shared pipeline was built from reusable actions: compilation, parallel unit tests, blocking static analysis on sensitive points, container-based integration tests, and building and publishing signed images. End-to-end tests were repositioned to critical journeys so as not to lengthen the validation path. Deployment moved to GitOps: manifests live in a dedicated repository, Argo CD applies the described state and detects any drift. The handwritten deployment file was replaced by a versioned procedure, and rollback means reverting to the previous version of the configuration repository.

Architecture

GitHub Actions pipelines for applications, with reusable actions shared between teams and managed dependency caching. Images are built in multi-stage mode, scanned and signed, then stored in an internal registry. The Kubernetes cluster is described with Terraform, and its application content by versioned manifests applied by Argo CD, with one configuration repository per environment. Security checks run on every delivery: dependencies, base image, accidentally committed secrets and static analysis.

Results (samples)

  • Shared integration pipeline across ten applications
  • Versioned deployments with rollback by reverting to the previous version
  • Security checks running automatically on every delivery
  • Written release procedure applied without manual intervention

Indicators (samples)

  • Average full pipeline duration

    92 min to 21 min

    Simulated measurements — demonstration sample

  • Release failure rate

    1 in 4 to 1 in 12

    Indicative estimate on a simulated scope — demonstration sample

  • Releases delivered over the period

    22

    Illustrative volume — demonstration sample

Technologies

  • Docker
  • Kubernetes
  • Terraform
  • GitHub Actions
  • GitLab CI
  • Argo CD
  • JUnit 5
  • Playwright
  • SonarQube

Testimonial (sample)

« Friday evening deployments are gone. We now ship during the day, and rollback no longer requires a crisis meeting. »

- Regional financial institution (demonstration sample)

Related services