Deploy

Install changes in staging and production environments.

Functional Headings

Deploy Capabilities

  • Bootstrapping Infrastructure - Deploy
    • Master and Patch Branches(sf) Individual package branches are stood up under a master folder in the Version Control System, where each branch under master represents the main packaging org or a patch org. (TBD)
    • Pilot, Beta, and GA RolloutsNew capabilities are often available as an optional Pilot, followed by a public beta, before being designated Generally Available (GA). (TBD)
    • Preview ChannelDevelopment and validation of new practices is staged so that designated early adopters can use changes and enhancements first before the capability is available to all subscribers. (TBD)
  • Integrating Change - Deploy
    • Batch Size of OneSuccessful builds are automatically uploaded to a proxy test package, push deployed to a firewall sandbox instance, and subjected to a full set of regression tests. (TBD)
    • Dev TSO Template Refresh(sf) At the end of the sprint, a new development TSO templates is provisioned, in case it is needed for patch development. (TBD)
    • GNG BaselineJust prior to the sprint retrospective, a master pull request and an updated change log are generated, for review at the retrospective and Go/NoGo meeting.  (TBD)
    • Go/NoGoFollowing the Sprint Review and Retrospective, stakeholders meet to determine if the new work increment is potentially releasable, or whether there are known impediments. (TBD)
    • TSO Template BotA Selenium script automates provisioning the templates, and the confirmation email is processed as an inbound message and parsed. New template ID is captured in an object and made available to ChatOps and Visualforce Request form. (TBD)
    • UI RegressionsSelenium Nightwatch tests are included where appropriate to assure that the user interface will continue to work as expected. (TBD)
  • Preparing New Versions
    • Milestone TSO Source Template(sf) When creating a transient branch, a new trial template is provisioned to represent the new version. (TBD)
    • New Version Agile BoardThe version creation and validation process is tracked in a shared checklist and/or Agile board, and included in the issue tracker. (TBD)
    • Transient BranchTo freeze the work increment being released, a temporary branch is created from develop, and a pull request created from the transient branch to packaging or production. (TBD)
    • Tag IssuesIdentify the changes for the new version by tagging the corresponding JIRA issues. (May be done in GNG Baseline.) (TBD)
    • Automatic Change LogThe change log is determined by observing the Git pull request, with little or no human intervention. (TBD)
    • Merge and DeployThe new increment is merged, and deployed to the packaging org or production (using the Ant Migration Tool or SFDX tool). All metadata in the repository is deployed using a blank manifest (TBD)
    • Tag RepositoryThe packaging or production branch in Git is tagged using the JIRA version ID. (TBD)
    • Firewall Install TestInstall the new version into the firewall sandbox environment.  (TBD)
    • Upgrade Install TestUpgrade a GA trial environment to the latest version.  (TBD)
    • Upgrade Preview TSOInstall the new version into the Preview TSO, which generates production-like environments. (TBD)
    • One Button Milestone InstallThe Firewall and Upgrade Sandbox Install and Test tasks are automated, and, on success, trigger the GA Trial success, and ultimately the TSO install. (TBD)
    • No Pull Request Left BehindPrior to merging a new work increment, open pull requests from prior sprints are reviewed, to ensure completed work is not left outstanding. (TBD)
    • Version Agile BoardA version agile board tracks the progress of a set of changes from build to operate. The board provides columns to represents phases of work, such as To Do, Building, Certifying, Deploying. The board may include preview, general, and maintenance releases.  (TBD)
  • Validating New Versions
    • Graceful degradationApex unit tests can make configuration changes during a test run to confirm features work as expected when enabled or disabled. (TBD)
    • Health CheckThe packaging and business orgs continue to pass the Salesforce Security Health Check following each major release, with a score of 80% or above. New subscriber orgs are reviewed with the Salesforce Optimizer before launch. (TBD)
    • Release ReadyThe packaging and pre-launch production orgs kept in a state of continual release readiness.  (TBD)
    • Scope / DocsValidation includes the relevant help topics and other documentation (ApexDocs, Developer Guides). (TBD)
    • Scope / TestsValidation includes both regression tests and feature acceptance tests, in automated and exploratory form. #TestLikeACustomerr (TBD)
    • Toggle TestsValidations are performed with all features toggled off, all features toggled on, and with only new features toggled on. (TBD)
    • ValidationThe latest work increment, is examined at the close of each sprint, to determine whether the version is ready-for-primetime. For MPs, a milestone version is validated. For CSs, a full staging sandbox is validated. For MPs, patch versions are run through the same gauntlet as major versions. (TBD)
    • Version CertificationEach new version is validated following a detailed checklist and exploratory test plan. If all checklist items pass, the version is certified for production use. Uncertified versions are deprecated. (TBD)
    • Version Issue ResolvedThe issue for the version is resolved in the New Version issue tracker and indicates its resolution status (failed certification, certified but not deployed, certified and deployed). (TBD)
  • Deploying Versions
    • Configuration WizardNew implementation setup is streamlined through use of a configuration wizard that collect and updates settings. (TBD)
    • Connected DeploymentDirect deployment leverages a connected application (and user credentials are not required). (TBD)
    • Deploy From Hub(sf) Using a secure Salesforce app in our business org, any certified version can be pushed to subscriber staging or production orgs, individually or in groups, typically with the latest features disabled, and other needed updates automatically applied. (TBD)
    • Direct Deployment(sf) New permissions and reports are deployed post-upgrade by Connected Deployment or by leveraging user credentials. (TBD)
    • Feature Configuration Audit TrailAny change to feature configuration (including validation rules) is recorded in a supplemental audit trail log and made available as part of Push Metrics. (TBD)
    • Feature Toggles(sf) Custom metadata feature toggles may be hidden from the subscriber and activated through the LMA. (TBD)
    • Jumpstart Org(sf) To assist with implementing a package for new subscribers, a Jumpstart trial is maintained with the latest GA versions for use by new implementations. (TBD)
    • Org Details Object(sf) To track additional detail about subscriber orgs, a custom object in the business org is linked to the LMA and the subscribers Account object. The org details aggregates the API applications installed for each subscriber, the instance, the my domain name, the production org ID, as well as the staging/preview sandbox IDs, and refresh history. Ideally, an automation posts an alert whenever a new org is added, to queue followup actions. (TBD)
    • Patch Org Validation(sf) Prior to re-launching the preview channel, the GA patch orgs are provisioned early and tested with a deploy to be sure the org provisioned correctly. (TBD)
    • Push Major UpgradesQueue automated deployments of new versions from build server o to individual subscribers or subscriber groups. On Force.com, Deploy Fom Hub queues deployments form the business org. (TBD)
    • Rock Steady API(sf) Global components are stable with a low regression rate, including behaviors of Global Apex class methods and variables, Apex triggers, custom metadata, custom objects, fields, validations, and workflows. (TBD)
    • Rollout TrackingThe progress being made on a major version rollout is tracked in a shared checklist and/or Agile board. (TBD)
    • Scalable DeploymentWhen Direct Deployment is used, scale agents on a platform like AWS, so that many subscribers can be upgraded at once. (TBD)
    • Sharpen the AX(sf) The AppExchange entry is updated to the latest version for each new GA major version, without concern of prompting a security review.  (TBD)
    • Toggle OffOptional features promoted to GA or Beta in a release can be deployed in an activated or deactivated state and toggled on or off by the subscriber. (TBD)
    • Upgrade Slot SelectSubscribers can select their own upgrade slot within a window, or accept a default upgrade date. (TBD)
    • Zero Step Tolerance(sf) Any upgrade steps are automated or optional and can be invoked by subscribers. (TBD)
  • Managing Change - Deploy
    • External Regression Test SuiteNew regression tests for Global API methods are created in an external package as part of the development task, and UI changes include modifications to the Selenium Nightwatch scripts. (TBD)
    • Staging Data RefreshExternal IDs are included with standard and custom objects so that updated records can be pulled from production at any time. (TBD)

Please submit feedback to the DreamOps Success Group http://dreamops.org/group.