Skip to content

Level 3 - Salesforce DevOps release manager

Time: about 6 h.

Before you start: Level 1 and Level 2. Both are required, and the badge audit checks both before it looks at anything here.

Why Level 2 is not optional

A release manager reviews other people's deployment errors, deployment actions and conflicts. Those are exactly what Level 2 puts you through. Somebody who has never solved a deployment error cannot judge whether a contributor solved theirs properly, and the reviews they give will be about formatting.

If you skipped Level 2, do it. It is four hours and it is the difference between approving Pull Requests and understanding them.

The story

Victor Squeeker left. He was the release manager, he set the pipeline up two years ago, and he never finished it.

What you inherit works, in the sense that contributors deliver into integration every day and the business tests in uat. What it does not have:

  • No preprod and no production in the pipeline. The branches exist. Nothing deploys to them
  • No proper CI authentication. There are two refresh-token secrets somebody added in a hurry
  • No monitoring. Nobody finds out about a problem in production until a user calls
  • No release notes and no metrics. Nobody can say what shipped last month or how long it took
  • No generated documentation. The org is two years old and the only description of it is Victor

Your first week is finishing the pipeline. Then you run it.

The Training menu

Everything this course asks you to run outside the product's own buttons lives in one menu. Open the Welcome page, and under CUSTOM MENUS click the Training: Level 3 card. Its commands take over the page:

The Level 3 training menu, opened on the Welcome page

Nine of them, and the labs call them by these names:

Command What it does
Set up my training environment Rebuilds a scratch org that expired, and points the pipeline at it
Where am I? Says which level and lab you reached, and what to do next
Set up one of my training orgs Deploys the Helios app and its data into an org you choose
Simulate my teammates Creates the teammate branches and Pull Requests a lab needs
Publish my pipeline configuration Opens a Pull Request into integration with the configuration you changed
Check my work Verifies the lab you just finished and prints your receipt
Claim my badge Checks the whole level, then opens your badge claim filled in
Reset this level Puts your repository back to the start of Level 3
Clean up a training org Removes the Helios app and its data from an org

There is one menu per level, and each holds only what that level needs, so nothing in front of you is for a lab you have not reached.

The same commands are in the SFDX HARDIS view of the left bar, under Training: Level 3. Either route runs the same thing.

What you will do

Lab Title Time
3.1 Configure the CI/CD pipeline up to production 75 min
3.2 Review and merge a contributor Pull Request 25 min
3.3 Read the deployment log, and what .forceignore hides from it 25 min
3.4 Three Pull Requests collide: choose the merge order 35 min
3.5 Promote to UAT and write the release notes 35 min
3.6 Release to production and read your DORA metrics 35 min
3.7 Production is broken: hotfix and retrofit 35 min
3.8 Monitor your production org 35 min
3.9 Generate the Salesforce project documentation 20 min
3.10 Capstone: run a weekly release cycle 45 min

One more org

Levels 1 and 2 ran on one Developer Edition org, helios-prod, and the three scratch orgs it created: helios-dev, helios-integration and helios-uat. This level adds production and the stage before it, and needs one more signup.

Before Lab 3.1, sign up for one more free Developer Edition org at developer.salesforce.com/signup and connect it in Orgs Manager with the alias helios-preprod. Then seed both Developer Edition orgs with Training: Level 3 > Set up one of my training orgs: helios-preprod, and helios-prod, which until now only created the others and held nothing.

helios-prod gets the same sources as the other orgs. Nothing seeds a deployment history, so the DORA report in Lab 3.6 sees only the seeding and the deployments you make yourself.

If a scratch org expired since Level 2, Training: Level 3 > Set up my training environment rebuilds it first.

Your role changes

In Levels 1 and 2 you built User Stories and opened their Pull Requests. A release manager does not. Your teammates open the Pull Requests, Simulate my teammates plays them, and you review them, merge them or send them back. What you create yourself is the pipeline: its configuration, which Publish my pipeline configuration sends to integration through a Pull Request, and the promotions from one major branch to the next, integration to uat, uat to preprod, preprod to main.

Start with Lab 3.1

Questions and comments