Thurs Mar 26 2026 was a significant milestone on my quest to liberate my team from the tyranny of my client’s enterprise deployment pipeline: we successfully deployed a service to production using my Shadow Pipeline (see my previous posts: here and here).
Background: My client’s enterprise deployment pipeline is slow, clunky, and unreliable. Deployments take at least an hour per service per datacenter and often fail. When it fails we have to open a support ticket and page the pipeline staff to fix it which often takes hours. My client only permits overnight deployments to production starting at midnight, and smooth deployments usually run until 5:30am.
My shadow pipeline completed the deployment in less than two minutes. It was a resounding success.
The next day, the deployment team started pushing to use the new deployment process for all of our deployments. It will drastically reduce the human cost of overnight deployments and allow us to run deployments more frequently. The client might even let us do intra-day deployments once we get a few more wins under our belt.
I spent a day this week turning the Python script into a PyPI package complete with documentation, automated testing, and security scanning to meet the enterprise standard for production-grade software. This ensures that the code cannot be tampered with by its users, and standardizes the SDLC of the shadow pipeline itself. Audit and AppSec will be satisfied.
Most importantly, any team can use the shadow pipeline with a pip install and a JSON config file. Deployments are now as simple as:
edpy --task deploy --env prod --app my_service --version 1.2.3