General Deployment and Replication Procedures

  1. Ensure you have the current updated version of the API on which the instance is running.

    Update your API in UX Studio if the Salesforce B2C Commerce Primary instance version has changed. Studio will refuse to upload code if there is any discrepancy between the server API and the API in Studio.

    1. Ensure that deprecated APIs are accounted for in your application. (Check the WebDav/Sites/Logs/deprecation/ directory on your server for a full list of deprecated APIs in use.) This will ensure that references to deprecated APIs are removed before the API is discontinued.
    2. Ensure that any sandbox used for site development is upgraded at the same time as the Primary instances.
  2. Merge code in the code repository.
  3. Retrieve the collective changes from the code repository, then deploy the code to a Build/Merge instance.
  4. Use Business Manager to create a new B2C Commerce version directory on the Staging and Development instances.
    1. Select Administration > Site Development > Code Deployment.
    2. Select an active version for these instances.
  5. Provide a readme.txt file in the cartridge that lists the code fixes/enhancements in this version.
  6. Copy the cartridge to the newly created version directories on Staging and Development via WebDav.
  7. Test the new version (see above consideration).
  8. Push the newly tested version to the Production instance for live usage.

    Use Business Manager to push code from Staging to Production (click Administration > Replication > Code Replication). The replication process will take the current active version directory, create the same version directory, then copy the cartridge code from Staging to Production.

Important: You must follow these steps for each version that is being replicated from Staging to Development and from Staging to Production. If any change, no matter how insignificant, is made to a site, it must be delivered via a version change. A new version must be created, even if it's intended to find or fix an issue that occurs with a new version, so that if a problem exists, the site can be rolled back to a known working version as quickly as possible.