Environment Progression Enforcement & Deployment Traceability in Harness Pipelines
long-term
C
Corporate Hornet
Enhance Harness pipeline governance by enforcing environment progression rules (DEV → QA → STAGE → PROD) while enabling traceability of previous deployments through Change Management tools like ServiceNow.
Problem Statement: Currently, Harness pipelines allow deploying to any environment based on input parameters (SERVICE, ENVIRONMENT, INFRA, GITCOMMIT). However, there is no built-in mechanism to:
* Enforce that a service has successfully deployed to DEV before QA, QA before STAGE, and STAGE before PROD when pipelines are triggered days apart.
* Maintain traceability of previous environment deployments and associate them with pipeline stages/steps for external Change Management systems like ServiceNow.
Proposed Solution:
Deployment History Validation:
* Introduce a precondition step or built-in policy to verify if a service has been successfully deployed to the required previous environment before proceeding.
* Example: If deploying to QA, the pipeline should check if the same GITCOMMIT has been successfully deployed to DEV first.
* Harness should store and validate deployment history (could integrate with existing audit logs or metadata storage).
Deployment Traceability & External Integration
* Add metadata linking pipeline execution IDs, stages, steps, and their respective environments.
* Provide APIs or webhook triggers to update Change Management tools (e.g., ServiceNow) with deployment data.
* Example: A ServiceNow record can contain the pipeline execution from DEV before approving QA deployment.
Time-Gap Resilience
* Since pipelines are executed at different times (days apart), Harness should persist deployment state beyond a single pipeline run.
* Could be stored as pipeline metadata or through an external database integration.
Expected Outcome:
* Governed pipeline flow ensuring controlled environment progression.
* Improved traceability of service deployments across environments.
* Seamless integration with Change Management tools for compliance and approvals.
Log In
Rohan Gupta
long-term
We can improve the expereince, governance is geared for runtime of computed values at runtime, save and making sure things are done in the pipeline. However leveraging historical information to gaurdrail from certain environment deployment is not there, the governance context is tied to an instance of the pipeline.
C
Corporate Hornet
How would I do that for items deployed on separate pipelines? DEV deployed on pipeline A, QA on B, STG on F, and PROD on Z.
T
Thoughtful Locust
This could be integrated with Open Policy tools