Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/infra-neo/CICD/llms.txt

Use this file to discover all available pages before exploring further.

The Jenkins CI/CD Environment is a fully containerized automation stack for Java application teams. It provisions Jenkins, SonarQube, Nexus Repository Manager, WildFly, and JBoss EAP in a single Docker Compose stack — with zero manual configuration required after ./setup.sh.

Quickstart

Provision the full stack and run your first pipeline in under 10 minutes.

Architecture

Understand how Jenkins, SonarQube, Nexus, and the app servers connect.

Pipeline Guide

Configure build-config.yml and craft your Jenkinsfile pipeline stages.

Operations

Deployment workflows, backup/restore, versioning, and migration guides.

What’s Included

The environment ships six containerized services wired together on a private bridge network:

Jenkins

CI/CD orchestration — auto-configured with plugins, Maven, SonarQube integration, and Nexus credentials.

SonarQube

Code quality and security analysis backed by PostgreSQL. Quality gates block bad builds automatically.

Nexus

Maven release and snapshot repositories for artifact storage and versioned dependency management.

WildFly

Modern Jakarta EE 9+ application server for new deployments. Hot deployment and management console included.

JBoss EAP

Legacy application server running side-by-side with WildFly for migration testing and gradual cutover.

PostgreSQL

Internal database powering SonarQube. Persistent across restarts via a named Docker volume.

Getting Started

1

Clone the repository

git clone https://github.com/infra-neo/CICD.git
cd CICD
2

Run the setup script

./setup.sh
The script starts all containers, waits for every service to be healthy, configures WildFly and JBoss admin users, and prints the access URLs.
3

Access your services

ServiceURLCredentials
Jenkinshttp://localhost:8080admin / admin
SonarQubehttp://localhost:9000admin / admin
Nexushttp://localhost:8081admin / see below
WildFlyhttp://localhost:8090admin / admin
JBosshttp://localhost:8070admin / admin
Retrieve the generated Nexus password: docker exec nexus cat /nexus-data/admin.password
4

Create your first pipeline

Add a build-config.yml and a Jenkinsfile to your project, point a Jenkins Pipeline job at your Git repository, and click Build Now.

Key Capabilities

  • One-command setup./setup.sh provisions everything; no manual wizard
  • Auto-configured Jenkinsinit.groovy.d scripts install plugins, set credentials, and connect SonarQube and Nexus on first boot
  • Security scanning — pipelines fail automatically when hardcoded passwords are detected in source code
  • Multi-environment support — isolated dev, staging, and prod property sets with per-environment Maven repositories
  • ZIP-based builds./upload-source.sh builds and deploys from a source ZIP without requiring a Git repository
  • Backup and restore./backup-restore.sh snapshots all service data into timestamped archives
  • JBoss → WildFly migration — run both servers in parallel for side-by-side testing and gradual traffic cutover
New to this stack? Follow the Quickstart to have a working CI/CD pipeline running in under 10 minutes.

Build docs developers (and LLMs) love