CI and CD in Salesforce

Release Early and Often

Who we are.

Patrick Connelly

Amber Neill

What is CI?

CI stands for Continuous Integration

Principles

What is CD?

CD stands for Continuous Delivery

Principles

source: informIT

Sandbox Structure

SFDC deployment diagram

Deployments happen from bottom to top

  1. Developer pushes from Git to sandbox
  2. Developer pulls from sandbox to Git
  3. Features are pushed to Git
  4. Git commits are automatically pushed to CI
  5. "Manual" push to QA
  6. "Manual" push to STAGE
  7. "Manual" push to PROD

Tools

Solenopsis Logo

Solenopsis

Jenkins

Jenkins

  • Used for unattended pushes
  • Can be triggered by events (git update)
  • Can be triggered by time
    • Useful for test builds

Ideal Release Cadence

Release Cadence

Using SCRUM methodolgy we have a new releasable artifact every two weeks

QA test for a week following the sprint

During the sprint a developer is the release shepherd to assist QA with any needs they have

Releasing to prod with limited audience

What

How

Ponies - Hidden features in action

Regular action bar

action bar sans ponies

Action bar after appending "&ponies=true" to url

action bar with ponies

Ponies!

Ponies!

Questions?

/

#