Pipeline Setup

DreamOps is a platform and requires setup. The setup required for your organization depends on how you construct your pipeline. The setup steps for the DreamOps pipeline are organized by stage, so that you can decide which setup steps you need for your pipeline.


Minimal Features

  • Visualforce form to launch development environment as trial instance.
  • Proxy Signup updates instance to latest commit as an unmanaged package. 
  • Changes made in a separate environment for each development task. 
  • Build commits changes made to task environment and creates pull request. 
  • Peer developer reviews pull request. 
  • Embedded tester explores changes through the user interface. 
  • Develop branch deployed to source org on update.

Optimal Features

  • Trial templates for prior versions.
  • ChatOps to launch builds.
  • Mock customer implementation.
  • Sample mock customer data.
  • Help for this Page for packaged tabs.
  • Help text hints and descriptions for packaged fields.
  • ApexDocs for Global classes.
  • Regression Tests (in external package).
  • Permission Sets in lieu of Profiles. 
  • ApexUnit for dynamic analysis.
  • Selenium UI tests in Nightwatch.
  • SonarQube/CodeScan for static analysis.
  • DreamOps Style.
  • Performant Apex unit tests.
  • Mock customer data is extended for new features. 
  • Develop branch deployed to branch org and staging org on update.

Develop and Test


Create Change - Daily


Developer requests environment

(tick) = License or subscription cost

  • Mock customer description
    • Mock data for changes
    • MVP Milestone Requirements
  • Confluence Cloud Instance (tick)
    • Develop Task Checklist Template
    • Seasonal Space
    • Product Team Space
    • Tools Space
      • Runbooks
  • JIRA Cloud Instance (tick)
    • Seasonal Project
      • Component==Package
      • Change Log field
      • Upgrade Steps field.
    • Develop Agile Board
      • Success resolution
    • Runbook
  • Business Org (tick)
    • EnvHub
      • Enable Signup API
    • Visualforce Request form
      • Apex web service for remote submit
    • Runbook
  • Bamboo Server Instance (tick)
  • HipChat Cloud Instance (tick)
    • Develop Room
    • Hubert ChatOps
      • Script to invoke form
    • Runbook
  • Bitbucket Cloud Instance (tick)
    • $prefix-app
  • Metadata cleansing script
  • Trialforce Source Org
    • Develop ($prefix.dev)
    • Preview ($prefix-.tso) (star)
    • Release ($prefix-.tso) (star)
    • (star) Future use - Same Creation Date
    • TSO Runbook

Build prepares environment

  • Proxy Signup
    • Proxy script to setup org
  • Build plan to orchestrate task org setup
  • Core Package
  • Core Data / Mock Customer
  • Optional Packages
      • Push Package Install
  • Data Loader
    • DL Config Script
  • Optional Data

Developer completes task Using environment 

  • Illuminated Cloud (tick)
  • ExtID mode trigger
  • Help for this Page code template

Confluence Server Instance (tick)

  • Ten-user license
  • AWS EC2 instance (tick)
    • AWS Linux
      • Bash Runbook
    • Nginx Proxy Server
  • Help for This Page code template
  • Scroll Versions Plugin (tick)
  • CS Runbook

Developer submits environment for review

  • Add'l Builds
  • Git backup

Submit Task Environment 

  • Mock data in repository


  • Validate Task Checklist template in Confluence

SonarQube (tick)

  • $1400 / 40k LOC
  • 2nd AWS Instance
    • Whitelist IPs
    • Nginx proxy server
      • Static site ("fix") for incremental reports
  • SQ scan package
  • SQ scan branch


Verify Change - Daily


Build deploys changes to master environments

  • CI build plan
  • Help space - develop/preview/master
  • ApexDocs
    • ApexDocs build plan
  • Octopus
    • OctoDocs build plan
      • UI automation
  • Trialforce automation (theoretical)

Build launches automated test suites against updated master


  • ApexUnit Runner
  • grep script
  • HipChat Room

Release and Deploy


Create and Verify Version - Per sprint task


Build deploys develop to packaging org on demand

  • Developer Edition Org
    • Managed Package
  • JIRA Certify Version project
    • Certify Agile Board
  • Confluence Change Log template
  • Build plan to deploy to package branch
  • Chrome bookmark to show what components are added
  • Point and click by Org ID
    • Select with Selenium script
  • Or, build plan to install version via API
    • Store credentials in secure fields

Developer validates new version

  • Upgrade test org
    • API Regression Test
  • GA TSO
    • Data transfer build plan
    • Mock data transfer build plan.

Script parses template notification

  • Inbound Message Handler
    • Message parser
  • Visualforce Request form - Hold ID

ValidateVersion Stage - Per Sprint


Configuration Toggles

  • Custom Metadata
  • Apex Web Service

Product owner certifies version for release 

  • Visualforce Request form - Release ID

Release and Deploy


Milestone version 

  • Release Version Checklist template
  • Change Log template
  • Deploy to Packaging build plan
  • Metadata upgrade build plan
  • Security Review
    • 1st MVP Milestone
    • LMA installed in business org
  • Preview help space
  • Org Details object

Deploy Milestone Version - Per sprint


Rollout Seasonal Release - Per season


Seasonal Release

Seasonal Rollout Checklist template

Two or more customer groups

Org Details object

  • Org Details trigger

App Connect app for deploying and tracking package versions into customer staging and production orgs (TBD)

Launch Implementation - As needed


Launch Implementation

Implementation Checklist template

Jumpstart TSO

Starter data

Survey Wizard (TBD)

Strategy for partial data conversion

Deploy Maintenance Version - As needed


Maintenance Version

Maintenance Version Checklist template

Image Parking Lot

Drawings of a checklist and various hand tools.

Screenshot from the Illuminated Cloud IDE.