DevOpsDeutsche Bahn Netz2023

GitLab Runner CI/CD JAVA Pipeline

Implemented a GitLab Runner pipeline for Java applications, automating build, test, and deployment processes.

The GitLab Runner pipeline was introduced to replace Jenkins, reducing operational costs and improving efficiency.

AWS EC2 instances were optimized to be burstable, reducing unnecessary costs during idle periods.

The pipeline automates the full Java build process, including testing, packaging, and deployment to a JBoss server.

Versioning and artifact uploads are now automated, ensuring consistency across deployments.

Outcomes

What the platform unlocked once it landed in production. Each one is a measured behaviour change, not a feature promise.

  1. 01

    Replace ageing Jenkins setup

    Retired an outdated Jenkins-on-VM with a containerised GitLab Runner — fewer moving parts, lower operational cost.

  2. 02

    Burstable EC2 right-sizing

    Runners only consume compute when builds run; idle time costs near nothing.

  3. 03

    End-to-end Java build automation

    Build, test, package, version, and deploy to JBoss — all flowing from a single commit, with artifact uploads handled automatically.

  4. 04

    Consistent versioning

    Versioning logic lives in the pipeline, not in developer heads — deployments are reproducible and auditable.

Architecture

Architecture diagram coming soon.

Want the longer story behind this one? Get in touch.