GoCD allows you to compare any two builds of a pipeline and see exactly what changes happened between those two instances. The information in this view will include:
- Code checkins
- Upstream pipelines
- Story/defect numbers (when linked to a tracking tool)
Accessing Pipeline Compare
There are several locations from where the Pipeline Compare feature can be invoked. These include:
- Pipelines Dashboard page (the “Compare” link in each pipeline)
- Environments page
- Stage Details page
- Stage History widget within the Stage Details page
Understanding the Pipeline Compare Screen
The Pipeline Compare screen lets you compare any two instances of a pipeline. Every pipeline instance is associated with a set of changes; be it a source control modification or an upstream pipeline. Performing a compare lets you easily identify exactly what these changes were.
- To/from search box: You can search for the appropriate pipeline instance using any of the following - pipeline label, check-in comment, person who checked in, upstream pipeline label and revision.
- Upstream dependency changes: All the changes to upstream pipelines within the search range.
- Changes to version control systems: All check-ins that went into dependent VCS materials within the search range.
- Tracking tool integration: If you’ve configured a tracking tool integration for this pipeline or any upstream pipelines, check-in comments containing story/defect/ticket numbers would be hyperlinked to the appropriate tracking tool.
Using Pipeline History
You can also select a pipeline by browsing the pipeline history.
Steps to select a particular instance from the history:
- Click on the “Browse the timeline” link below either of the search box
- Browse the history and select a pipeline
Understanding Non-sequential Material Revision
Sometimes the following error message will be present on the comparison page:
This pipeline instance was triggered with a non-sequential material revision.
This means that the instance in-question was triggered with an older revision or an older run of the upstream pipeline. This occurs when the
Trigger with options flow is chosen on the Dashboard UI to schedule a pipeline.
Let’s consider a pipeline
P with material
- a commit
c1trigger an instance
- a commit
c2trigger an instance
- a commit
c3trigger an instance
Now a user using trigger with options triggers an instance
P4 with commit
c2. Now, in all manners
P4 are similar.
P4 was triggered with a commit earlier than
c3, it was assigned with a
natural_order of 2.5. It is recommended to compare only pipelines with integer
natural_order. Hence, the warning.