π Site Values Auto Deployment (Knowledge Base)
The site-values-deployment pipeline is our flagship Continuous Deployment (CD) solution!
It automatically applies infrastructure and application changes across our Kubernetes environments. Unlike clunky older methods, this pipeline is entirely driven by Helmfile. It is highly efficient, surgical, and designed to deploy exactly what changedβand nothing more. π―
(Currently, this pipeline is locked in and exclusively monitors the master branch for automated rollouts.)
π§ Smart Change Detectionβ
To minimize deployment time and eliminate risk, the pipeline uses a razor-sharp detection algorithm:
- π Git Diff Analysis: The moment you push, it compares your commit against the previously deployed commit to identify the exact files modified.
- πΊοΈ Release Mapping: It rapidly parses your
helmfile.yaml.gotmplconfigurations to map those modified files directly to specific application or infrastructure releases. - β‘ Targeted Execution: It doesn't blindly deploy your whole team's scope! It dynamically spins up parallel deployment stages only for the specific releases affected by your changes.
π Environment-Aware Processingβ
The pipeline is incredibly smart about where things go. It filters your changes based on the target environment (like dev, prod, stage, qa, integration).
It natively understands two types of files:
- π Environment-Agnostic (Base): Files like
base.yamlorbase.yaml.gotmplapply universally. Touch one of these, and the pipeline will deploy the affected release across any targeted environment! - π― Environment-Specific: Files explicitly named for an environment (e.g.,
dev.yaml) or tucked inside environment folders (e.g.,loki/dev/config.yaml) will only trigger a deployment when the pipeline is looking at that specific environment.
π Monitored Scopesβ
The pipeline keeps a close eye on changes made within these core team folders:
infra3drastervectorappdem
π© Notificationsβ
Never wonder what the pipeline is doing! It hooks directly into Slack to keep you updated. You will receive an initial heads-up detailing exactly which charts are queued for deployment, followed by a final success (or failure) ping complete with a direct link to the Jenkins build logs! π΅οΈββοΈ