– We are what we repeatedly do – The Force.com platform has all the components we need to build an efficient deployment pipeline and support continuous delivery of enterprise-grade managed packages. The goal of continuous delivery is to increase customer satisfaction by being able to distribute an updated release at any time. The DreamOps Experience extends the base components with other capabilities that all devops professionals should want in their toolbelt.
A typical devops pipeline
DreamOps Delivery Cycle
To complete the Application Lifecycle Loop, the Monitor and Optimize and Plan and Measure stages (not shown) create new product backlog items as input to the Develop and Test and Deploy and Release stages.
Develop and Test
These stages form the core of development and testing capabilities.
Developer completes Change Log and/or Upgrade Steps fields in JIRA to describe modifications to package behavior or configuration.
Developer runs build to submit task environment for review.
Build retrieves or creates Git branch for task, retrieves unmanaged package over branch, submits commit, creates pull request from task branch to develop.
Commit includes updated package.xml created when package is retrieved.
Developer moves task to Code Review column, and signs up for another task, by working the board right to left.
includes any sample data changes in the pull request.
launches ApexUnit tests in task org.
launches UI acceptance tests in task org using Selenium Nightwatch.
applies static analysis and dynamic analysis to the pull request.
Before moving task to Code Review, Developer reviews issues found by analysis and any failed tests, makes any needed changes, and re-submits.
After the initial provisioning, how do we re-acquire the Session ID to run the build on dynamic agents? Set it in the org when it is provisioned, and have developer enter? Can a dev org build itself from a button, tab, or page?