CI Job Configurations
Best practices for performing CI/CD based on Version Control are outlined below.
1. Automatic Incremental Deployment
Usage: Any Test Environment
Overview: Can be used for staging/production environments if sufficient test automation is in place. Typically triggered by a merge into master
that runs a deployment to Staging, executes a full regression test suite, and only deploys to Production if all tests pass.
Benefits:
True Continuous Integration
Low maintenance
Full control via Git (Agile AF)
2. Manual Incremental Deployment
Usage: Environments with scheduled deployment windows (e.g., UAT), or for deploying merged code from a dev branch to dev orgs.
Overview: Similar to Automatic Incremental Deployment but without the on-commit trigger.
Benefits:
Low maintenance with better control over schedule
Enables developers to deploy to dev orgs without altering baseline revisions
3. Pull Request Validation
Usage: Environments requiring stable testing windows (e.g., UAT) or deploying merged code to dev orgs.
Overview: Requires Pull Request Support plugin. Must be paired with a deployment job to maintain validation org synchronization with the upstream branch.
4. Continuous Validation
Usage: Validate full release packages alongside CI deployments in test environments.
Overview: Can be scheduled or triggered on-commit depending on validation time and commit frequency. Ideal for dedicated environments without dev access.
Limitations:
Manual deployment needed to sync with Production
Manual baseline revision updates required
Risks if manual pre-deployment steps are involved; frequent smaller releases mitigate this
5. Automatic Validation
Usage: Production validation during early stages of staging or regression cycles.
Overview: Combines Automatic Incremental and Continuous Validation; triggered on commit or post-activity and performs a validate-only build.
Limitations:
Manual deployment needed post-release to sync with Production
Requires manual baseline update
Risk of failure with manual pre-deployment steps
6. Backup
A scheduled job that pulls changes post a given date into a backup repository.
Important Note: Not a replacement for Branching Baseline. Relies on modification date and is subject to API limits. Should supplement but not replace periodic manual execution of Branching Baseline.
7. Test
Executes functional tests (e.g., Provar, AccelQ) independently of code deployment.
Usage: Useful for conditional execution (e.g., run tests post-data migration or before another deployment).
8. Custom Features
Unit Tests
Defaults:
Production orgs:
RunLocalTests
Sandbox orgs:
NoTestRun
Custom Feature: RunTestsBasedOnChanges
generates input dynamically for RunSelectedTests
based on mappings from Admin > Salesforce Org Mgmt.
Important Note: Mapping updates only when a CI Job is manually triggered with Run Code Coverage enabled. Frequent updates needed via manual/scheduled jobs (e.g., weekly). Concurrent deployments or validations during test runs can corrupt data.
Rollback
Usage: Only in Stage/Production.
Lower environments should use Git-based rollbacks.
In Production, enables immediate reversion after detecting critical issues.
Validate rollback packages in Stage to identify potential rollback-specific errors.
Optionally validate rollback immediately post-deployment to prepare a Quick Deploy.
Profile Packaging
Avoid special handling by default, except excluding IP Ranges and environment-specific settings.
EZ Commits can exclude User Permissions (no change = no deployment).
The "ignore missing visibility settings" is a last-resort workaround that can desync branch and org. Standard fields are unsupported.
Last updated
Was this helpful?