Build pipeline orchestrator for Axion k8s deployment.
Module: factory.deploy/ObjBuild.py
Extensions: factory.deploy/extend.build/
Single entry point for the full build pipeline:
# Full pipeline
python factory.deploy/ObjBuild.py pipeline homechoice
# Skip steps
python factory.deploy/ObjBuild.py pipeline homechoice \
--skip-compile --skip-push --skip-deploy
# Pipeline with email notification
python factory.deploy/ObjBuild.py pipeline homechoice \
--notify user@example.com
# Individual steps
python factory.deploy/ObjBuild.py compile homechoice
python factory.deploy/ObjBuild.py image homechoice
python factory.deploy/ObjBuild.py push homechoice
python factory.deploy/ObjBuild.py deploy homechoice
# Build all per-service Docker targets
python factory.deploy/ObjBuild.py targets homechoice
# Helm release status
python factory.deploy/ObjBuild.py status homechoice
Every pipeline run is recorded to MySQL:
| Table | Purpose |
|---|---|
log_build_run |
One row per pipeline execution (GUID, status, timing) |
log_build_step |
One row per step (config, compile, image, push, deploy) |
log_build_compile |
One row per compiled module (pass/fail, error detail) |
Tables are defined in ObjBuild.yaml and auto-created by ObjData.
The --notify flag triggers an email report via ObjReportBuild on completion (pass or fail).
The pipeline refuses to start if:
config.yaml missing or invalidpackage: key doesn't match the targetdatabase entrydata.config/| File | Purpose |
|---|---|
extend.build/ObjCompile.py |
Cython compilation engine |
extend.build/ObjConfig.py |
Config trim, validate, build |
extend.build/ObjBuildDocker.py |
Docker image build/push mixin |
extend.build/ObjBuildHelm.py |
Helm install/upgrade/values mixin |
from ObjBuild import ObjBuild
builder = ObjBuild()
results = builder.pipeline("homechoice", skip_deploy=True)
# {'package': 'homechoice', 'steps': {...}, 'status': 'PASS'}
resource.notes/howto/howto_docker_build.md — full build guideresource.docker/dockerfile/homechoice.dockerfile — Dockerfilefactory.deploy/ObjEnvironment.py — DNS + secrets orchestrator