Showcase – CI/CD Pipeline for HybridOps¶
Executive summary¶
This showcase demonstrates an opinionated CI/CD pipeline that:
- Builds Proxmox VM templates and container images using Packer and Docker.
- Provisions and updates infrastructure using Terraform and Ansible.
- Deploys workloads to Kubernetes and on-prem services.
- Captures build and deployment evidence as first-class records.
It is designed to look and feel like a production-ready pipeline that can be extended to real customer environments.
Case study – how this was used in practice¶
- Context: Hybrid reference environment combining Proxmox, Kubernetes and public cloud, with a requirement to prove repeatability and auditability.
- Challenge: Manual, ad-hoc builds and inconsistent environments made it hard to trust test results or reproduce demos.
- Approach: Introduced a CI/CD pipeline that standardised image builds, infra changes and workload deploys, with evidence collected at each stage.
- Outcome: Reduced environment drift, improved confidence in walkthroughs, and created reusable patterns suitable for enterprise teams.
Related decisions (for example):
- ADR-0016 – Packer + Cloud-Init VM Templates
- ADR-0603 – Jenkins Controller on Control Node, Agents on RKE2
Walkthrough¶
Video walkthrough¶
- Video: https://www.youtube.com/watch?v=CI_CD_PIPELINE_DEMO
In the demo, you will see:
- A change pushed to GitHub.
- The pipeline building updated images and infrastructure.
- Application deployment to the lab environment.
- Evidence collection (logs, screenshots, build metadata) for later review.
Screenshots¶
- Screenshot placeholder: pipeline overview image
- Screenshot placeholder: evidence dashboard image
Architecture¶
- High-level diagram:
Placeholder: high-level architecture diagram
- Key components:
- Source control: GitHub, with protected branches for main/trunk.
- CI/CD engine: Jenkins and/or GitHub Actions for pipelines.
- Infra-as-code: Terraform and Ansible to manage Proxmox, cloud and services.
- Templates: Packer-built images with cloud-init for zero-touch VM provisioning.
- Observability: Grafana and Prometheus used to visualise build and runtime metrics.
Optional detailed diagrams:
- Placeholder: network topology diagram
- Placeholder: pipeline stages diagram
Implementation highlights¶
- Pipelines split into stages for lint → build → test → deploy → evidence.
- All builds run against repeatable IaC definitions, with no manual configuration.
- Run records (logs, screenshots, metadata) are stored under a dedicated record tree.
- Designed to run in a controlled reference environment while aligning with patterns used by enterprise CI/CD platforms.
Assets and source¶
-
GitHub folder for this showcase:
https://github.com/hybridops-tech/hybridops-docs/tree/main/docs/showcases/ci-cd-pipeline -
CI/CD pipelines:
control/tools/ci/jenkins/(Jenkins pipelines)-
.github/workflows/(GitHub Actions workflows, if used) -
Infrastructure as Code:
infra/terraform/– environment provisioning-
core/ansible/– configuration management -
Evidence:
./evidence/– logs, screenshots and exported dashboards for this showcase.
Academy track (if applicable)¶
In the Academy, this showcase can be extended into a hands-on lab where learners:
- Create or modify a pipeline stage.
- Introduce a controlled failure and use evidence to troubleshoot.
- Capture a short runbook describing how to recover from a failed deployment.
Role-based lens (optional)¶
- Platform Engineer / SRE: demonstrates standardised build/deploy flows and evidence-driven operations.
- Network / Infrastructure Engineer: shows how infra changes are integrated into CI/CD safely.
- Engineering Manager / Hiring Manager: highlights ownership of the full delivery lifecycle and a focus on repeatability.