- Subscribe to RSS Feed
- Mark as New
- Mark as Read
- Bookmark
- Subscribe
- Printer Friendly Page
- Report Inappropriate Content
How to Create a 4 Instance Pipeline with ReleaseOps
The sample release configuration covers a three-instance pipeline (Dev → Test → Prod), though many organizations need to add additional environments like UAT or Staging to their deployment process.
This tutorial will show you how to extend your existing ReleaseOps pipeline to include a fourth instance, inserting it between your Test and Production environments.
Prerequisites: This guide assumes you have already configured the standard Dev → Test → Prod sample pipeline and it's working successfully. If you need help with the initial setup, please refer to the ReleaseOps configuration documentation and this configuration video.
Overview: What We're Building
In this tutorial, we'll add a UAT instance between Test and Prod, creating this pipeline flow:
Dev → Test → UAT → Prod
The same principles apply if you're adding a Staging instance or any other intermediate environment.
Step 1: Configure Multi-Instance Management Framework (MIF)
Before ReleaseOps can use your new instance, it must be registered in the Multi-Instance Management Framework (MIF). MIF enables secure communication between your environments using a hub-and-spoke model where PROD acts as the controller.
In PROD:
- Navigate to Multi-Instance Management > Managed Instances
- If your instance does not exist use the Add Managed Instance button to add your new instance (in this example, YUAT).
- Complete the approval process using the ReleaseOps Pipeline Configuration docs
IMPORTANT: Verify that your new instance record shows an Approved status before proceeding. The PROD controller must be able to access all sub-prod instances that will participate in ReleaseOps deployments.
Step 2: Create a ReleaseOps Deployment Instance
A Deployment Instance is a reference to your MIF instance that ReleaseOps uses to configure pipelines.
In PROD:
- Navigate to ReleaseOps > Deployment Instance
- Create New
- Fill in the following fields:
- Instance: Select your new instance (e.g., YUAT)
- Instance Type: Select Test
Note about Instance Types: In ReleaseOps, a pipeline consists of a source (Dev), a target (Prod), and everything in between. From ReleaseOps' perspective, all intermediate instances are "Test" instances because they're preparing code for the final deployment to production. While you could create custom instance types, ReleaseOps treats anything marked as "Test" as a middle instance in the pipeline.
Step 3: Create a Pipeline Label
Pipeline labels are critical for creating flexible, maintainable playbooks. Instead of hard-coding specific instance names in your playbooks, you use labels that abstract the purpose of each environment.
Why use labels? If your configuration changes or you have different playbooks with different activities, labels allow you to update the pipeline without modifying the playbook logic itself.
In PROD:
- Navigate to ReleaseOps > Pipeline Labels
- Create New with Label Name: UAT
- Click Submit
Step 4: Configure Update Sources (Remote Instances)
While MIF coordinates the ReleaseOps process, it doesn't actually move update sets. For that, you need traditional Update Sources configured between your instances. Today you need to set up two new connections:
In PROD:
- Navigate to System Update Sets > Update Sources
- Verify you have an Update Source pointing to your UAT instance
- Follow the Update Sources documentation if you need help to create this connection
In UAT:
- Navigate to System Update Sets > Update Sources
- Verify you have an Update Source pointing to your TEST instance
- This allows UAT to pull update sets from Test
Connection Flow: Dev -> Test → UAT → Prod
IMPORTANT: After configuring Update Sources, return to PROD to complete the remaining configuration steps.
Step 5: Duplicate and Modify the Playbook
Now we'll create a new playbook that includes our UAT stage. We'll start by duplicating the existing deployment request assessment playbook.
In PROD:
- Verify your scope: Ensure you are in the ReleaseOps application scope before proceeding
- Navigate to Process Automation > Workflow Studio
- Find the Deployment Request Assessment playbook
- Select the checkbox next to it and click Duplicate
- Name it: Deployment Request Assessment - 4 Instances
- Use Create
Add the UAT Stage
Now let's add a new stage to the playbook for UAT:
- Open your newly duplicated playbook
- You'll see the existing stages:
- Move to Test
- Run ATF tests in test environment
- Ready for Deployment
- We want to insert a stage between "Run ATF tests" and "Ready for Deployment"
- Select Add Stage and name it: Move to UAT
- Save and Close
Process Flow: As soon as everything passes ATF testing in the Test environment, the playbook will automatically move to UAT. You can customize this with additional approval gates or other activities as needed for your organization.
Add the Integrate Deployment Request Activity
Now we'll add the activity that actually moves the code to UAT:
- In the Move to UAT stage, click Add Activity
- Search for and select Integrate Deployment Request (from ReleaseOps)
- Keep the default activity name
- Use the Automation tab and configure the inputs:
Source Deployment Instance:
- Don't hard-code this! Instead, reference the output from the previous deployment step
- Select the output from the "Integrate Deployment" activity in the "Move to Test" stage
- Specifically: Use Destination Deployment Instance as your source
Destination Deployment Instance Label:
- Select UAT (the label you created in Step 3)
Deployment Request:
- Use the data pill picker
- Select the parent Deployment Request record
- Save
- Activate the playbook so it can be used
Step 6: Create a New Pipeline
Now we'll create a pipeline that uses your new playbook and includes all four instances.
In PROD:
- Navigate to ReleaseOps > Pipelines
- Open the Sample Release Pipeline
- Change the name to Release Pipeline with UAT and use Fred's favorite Insert and Stay action to duplicate it.
- Change the Deployment Request Assessment Playbook to your new playbook: Deployment Request Assessment - 4 Instances
- Save
Configure Pipeline Instances
Pipeline Instances define all the intermediate environments in your pipeline. Note that you don't define the starting location (Dev, specified in the Deployment Request) or the target (Prod, specified in the Release) as Pipeline Instances describe everything in between
Add Pipeline Instances:
- In your new Release Pipeline with UAT record, scroll to the Pipeline Instances related list
- Add new for Test:
- Deployment Instance: Select your Test instance (e.g., yoyo)
- Label: Test
- Add new for UAT:
- Deployment Instance: Select your UAT instance (e.g., YUAT)
- Label: UAT
- Verify that the pipeline is Active
Step 7: Create a Release
Now we'll create a release that uses your new 4-instance pipeline.
In PROD:
- Navigate to ReleaseOps > Releases
- Click New
- Fill in the fields:
- Name: Give it a descriptive name (e.g., "YUAT Demo Pipeline Release")
- Destination Environment: Select your PROD instance
- Pipeline: Select Sample Release Pipeline with UAT
- State: Change to Active (this is critical - you won't be able to reference it from the Deployment Request otherwise)
- Submit
Step 8: Test Your Pipeline
Time to test everything end-to-end!
In DEV:
- Create a test update set with some sample changes
- Navigate to the update set record
- In the Release field, select your new release (e.g., "YUAT Demo Pipeline Release")
- Click the Write to Assess button
This initiates the assessment pipeline. The process will:
- Move your update set to Test
- Run any ATF tests in Test
- Move to UAT
- Change state to "Ready for Deployment"
- Await final approval for deployment to Prod
Troubleshooting
If something doesn't work as expected, here's how to debug:
Finding Playbook Executions
In PROD:
- Navigate to Process Automation > Playbook Administration > Today's Executions
- Find the execution associated with your deployment
- Use Preview in Playbook to see a visual
Drilling Into Flow Errors
If you find an error in the activity log:
- Click on the failed Integrate Deployment Request activity
- Click Open Flow in Operations View
- This gives you a visual view of all workflow steps
- Click on any step to see the details
Common Issues:
- Connection failures: Verify your Update Sources are configured correctly and test them manually
- MIF approval issues: Confirm your MIF instance is in "Approved" status
What's Next?
You've successfully created a 4-instance pipeline! You can use these same principles to:
- Add even more instances
- Insert instances at different points in the pipeline
- Create multiple pipelines for different deployment patterns
Useful Resources
Happy coding and successful deployments!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
