🏅 Revvy.io Advanced Certification: Hands-on Scenario Guide

Become a certified Revvy.io Advanced DevOps Practitioner — by completing a hands-on, guided deployment scenario.

Tagline: Master Revvy.io through real-world challenges — conquer branching, conflicts, and deployments like a pro!

Welcome to the Revvy.io Advanced Certification! This hands-on guide takes you on an exciting journey through branching, pull requests, conflict resolution, and deployments using Salesforce orgs and Revvy.io. Whether you're a developer, admin, or DevOps enthusiast, you'll gain practical skills to excel in modern Salesforce development.

What You'll Learn

By completing this certification, you'll:

  • Set up and manage three Salesforce orgs

  • Create intentional metadata conflicts to practice resolution

  • Master the Revvy.io DevOps workflow, including:

    • Connecting Salesforce orgs

    • Creating and managing branches

    • Retrieving metadata

    • Handling pull requests

    • Resolving conflicts

    • Running pre-deployment checks

    • Deploying to a target org

Prerequisites

Before you start, ensure you have:

  • A modern browser (Chrome, Edge, or Safari)

  • Optional: Developer Console or VS Code with Salesforce CLI for a smoother experience

No Salesforce experience? No problem! Follow the steps, and you'll learn as you go.

Module 1: Set Up Your Environment

Step 1: Create Three Salesforce Orgs

You'll need three Salesforce orgs to simulate a real-world DevOps pipeline:

Org Role
Example Name
Purpose

Connection 1

DevOrg_One

Hosts Version A of code and fields

Connection 2

DevOrg_Two

Hosts Version B (conflicting)

Deployment Target

UAT_Org

Receives final deployment

How to Get Orgs:

Step 2: Add Metadata to Dev Orgs

Add conflicting metadata to DevOrg_One and DevOrg_Two. Keep UAT_Org empty for now.

2.1: DevOrg_One

  1. Apex Class:

    • Go to: Setup → Developer Console → File → New → Apex Class

    • Name it AccountUtils and add:

    public class AccountUtils {
        public static String formatName(String name) {
            return 'Mr. ' + name;
        }
    }
  2. Custom Field:

    • Go to: Setup → Object Manager → Account → Fields & Relationships → New

    • Create a Text field:

      • Label: Type

      • API Name: Type__c (auto-generated)

      • Length: 255

2.2: DevOrg_Two

  1. Apex Class (same name, different logic):

    • Go to: Setup → Developer Console → File → New → Apex Class

    • Name it AccountUtils and add:

    public class AccountUtils {
        public static String formatName(String name) {
            return 'Customer: ' + name;
        }
    }

  1. Custom Field (same name, different type):

  • Go to: Setup → Object Manager → Account → Fields & Relationships → New

  • Create a Picklist field:

    • Label: Type

    • API Name: Type__c (auto-generated)

    • Values: Prospect, Client, Partner

2.3: UAT_Org

  • Keep UAT_Org clean—no changes needed yet.

Step 3: Connect to Revvy.io

  1. Visit Revvy.io

  2. New user? Click Register and complete the form. Otherwise, log in.

  3. Go to: Connections → Add Connection

  4. Authenticate:

    • DevOrg_One

    • DevOrg_Two

    • UAT_Org

Alt text: Screenshot of Revvy.io Connections page showing added Salesforce orgs.

Tip: Save your credentials securely for quick access later.

Step 4: Retrieve Metadata

For each org connection:

  1. Click Retrieve

  2. Verify the metadata:

    • DevOrg_One: Shows Text field and Mr. logic

    • DevOrg_Two: Shows Picklist field and Customer: logic

  3. Open the metadata to inspect XML differences

Checkpoint: If metadata doesn’t appear, double-check your org connections.

Module 2: Branching and Committing

Step 5: Create Branches

Set up this branch structure in Revvy.io:

main
 ├── feature/F1-devorg1
 ├── feature/F2-devorg2
 └── release/JuneRelease

Steps:

  1. Go to: Code → Branches → Create Branch

  2. Branch: feature/F1-devorg1

    • Click Add Components

    • Select: DevOrg_One

    • Choose:

      • Apex Class: AccountUtils

      • Custom Field: Account.Type__c

    • Commit with message: Adding changes from DevOrg_One – AccountUtils + Type__c

  3. Branch: feature/F2-devorg2

    • Repeat, selecting DevOrg_Two

    • Choose same components (conflicting versions)

    • Commit with message: Adding changes from DevOrg_Two – AccountUtils + Type__c

  4. Branch: release/JuneRelease

    • Base it on main

    • This will be your merge target

Pro Tip: Descriptive commit messages make collaboration easier!

Module 3: Pull Requests and Conflict Resolution

Step 6: Merge Changes

Create pull requests (PRs) to merge your feature branches into the release branch.

  1. Go to: Pull Requests → Create

  2. Pull Request 1:

    • Source: feature/F1-devorg1

    • Target: release/JuneRelease

    • Name: Merge DevOrg_One changes into June Release

    • Description:

      Merges DevOrg_One changes:
      - Apex Class: AccountUtils
      - Custom Field: Account.Type__c (Text)
    • Create and merge (should be conflict-free)

    • 🔄 Refresh if the page doesn’t update

  3. Pull Request 2:

    • Source: feature/F2-devorg2

    • Target: release/JuneRelease

    • Name: Merge DevOrg_Two changes into June Release

    • Description:

      Merges DevOrg_Two changes:
      - Apex Class: AccountUtils (conflicting)
      - Custom Field: Account.Type__c (Picklist)
    • Create the PR

  4. Resolve Conflicts (if any):

    • In the PR editor, review conflicts in AccountUtils and Account.Type__c

    • Options:

      • Combine logic for AccountUtils

      • Choose Text or Picklist for Account.Type__c

    • Add a comment explaining your resolution

    • Merge the PR

    • Refresh if needed

  5. Result: release/JuneRelease now contains changes from both orgs

Note: If no conflicts appear, review the diff and merge directly.

Module 4: Pre-Deployment Checks

Step 7: Run Safety Checks

Ensure your deployment is safe with Revvy.io’s pre-deploy tools.

  1. Go to: Code → release/JuneRelease

  2. Click the three-dot menu (⋮) next to Deploy

  3. Select PreDeploy Fix

  4. Choose: UAT_Org

  5. Click Run

  6. Check the Activities tab for Pre Deploy Fix Search: Completed

  7. From the three-dot menu, enable Overwrite Protection

  8. Verify in Activities: Overwrite Protection: Completed

Why This Matters: These checks prevent accidental overwrites in UAT_Org.

Module 5: Deploy to UAT

Step 8: Validate and Deploy

  1. In release/JuneRelease, click the three-dot menu → Validate

  2. Select components (e.g., AccountUtils, Account.Type__c)

  3. Target: UAT_Org

  4. Run Tests: Default

  5. Click Run

  6. Check Activities tab for Validate: Completed

  7. Repeat for Deploy:

    • Same components and settings

    • Click Run

  8. Confirm in Activities: Deploy: Completed

Success! Your changes are now live in UAT_Org.

Module 6: Finalize Your Codebase

Step 9: Merge to Main

Merge your release branch back to main for a production-ready codebase.

  1. Go to: Pull Requests → Create

  2. Source: release/JuneRelease

  3. Target: main

  4. Review components and diff

  5. Create and merge the PR

  6. Check Activities tab for merge completion

Best Practice: Always keep main aligned with deployed changes.

Module 7: Earn Your Certification

Step 10: Submit Your Work

Required Artifacts:

  • Branch list screenshot:

    • feature/F1-devorg1

    • feature/F2-devorg2

    • release/JuneRelease

  • Both pull requests with merge diffs

  • Pre-Deploy Fix and Overwrite Protection (Activities tab)

  • Validation and deployment success (Activities tab)

  • Salesforce Deployment Status (Setup → Deployment Status)

Submission Steps:

  1. Open Revvy.io’s Intercom Messenger (bottom-right corner)

  2. Select Submit Certification

  3. Upload all screenshots

  4. Click Submit

Rewards:

  • Exclusive Swag (first 50 participants): Mug, hat, or Amazon gift card

  • Early Access (first 50 participants): Try new CI/CD features

Support

Stuck? We’ve got you covered! 💬

  • Open Intercom Messenger to:

    • Ask a question

    • Report a bug

    • Send a message

  • Our team is here to ensure your success.

Ready to shine? Let’s get certified!

Last updated

Was this helpful?