FlexDeploy has ever expanding support for Oracle CX Commerce Cloud (OCC), including the ability to schedule, manage, and report on deployments of user interface files to Oracle CX Commerce Cloud instances. This article demonstrates how to set up FlexDeploy for Oracle CX Commerce Deployments, and lays out a potential development process to follow.
(See our blog post, DevOps for Oracle CX Commerce Server Side Extensions, for information on additional FlexDeploy OCC support.)
Prerequisites
- Install FlexDeploy.
- Install npm on your FlexDeploy host.
- Install the DCU tool on your FlexDeploy host.
- Gather the urls and application keys for the Dev, Staging, and Production instances.
Implementation Steps
First, set up your topology. For OCC, we want 1 instance with 3 environments.
Then set up 3 cloud accounts using the instances and their associated application keys.
Set up a build and deploy workflow to be used for OCC projects. I will show the simplest complete example of each for now, but many options are available, allowing FlexDeploy to meet your unique needs. Just drag the OCC plugin operations for Build and Deploy onto the workflow canvas on the left and click activate.
Configure your Instance to use the new workflows.
Configure your environment instances.
Your Dev instance will look like this. Your staging Environment/Instance properties will have OCCSTAGING for the OCC Account, and OCCDEV for the SOURCE OCC Account. This means that it will transfer page layouts from DEV to STAGING when you deploy page layouts to staging. You will likely then configure your Prod Environment/Instance to Source from Staging to Production.
Optionally, you can configure your Source Control Management (SCM) for tools like Git and SVN in FlexDeploy. If you are using an SCM to hold the files that you are deploying into your OCC Instances, configure it in FlexDeploy. Source control would be used to maintain the master copy and revisions of the files that DCU migrates.
Configure your project(s) to manage the files that you are deploying. It is suggested to have one project to manage your page layouts, and one to manage your other files, which will likely be stored in SCM. Otherwise, you can consider your OCC Instances to be your master copy and revisions. Here are some images of the project I am using to manage my page layouts.
Set up your instances and workflows. Don’t set up your SCM for the Page Layout project.
Instead, go to the project properties and select the Object Type ‘PAGE_LAYOUT’
Make sure to save, and then populate your page layouts.
The population process will take a few seconds. Now you are ready to create packages of page layouts that can be deployed through the environments. Now let’s look at the SCM-source project for maintaining the other files that you want to manage.
You can copy your PageLayout project, and then set up your SCM.
Go to the project properties and select the Locales that are appropriate for your deployments. The Object Types option can also be used, but likely won’t be necessary when working with an SCM.
Finally populate your files from SCM.
Now FlexDeploy can manage your OCC migration process.
Your development process is entirely up to you, but here is one possible option. Developers commit files in to SCM and merge into the appropriate branch. FlexDeploy can automatically (via Webhook) execute the build to create versioned artifacts. Deployment automation can be achieved by release and pipeline setup. The FlexDeploy plugin uses DCU and PLSU utilities for the deployment automation.
Release and pipelines make it easy to include governance like schedule and/or approval requirements based on the target deployment environment. Additionally, automated testing can be adopted to facilitate quality checks. OCC typically has 3 environments – development, staging, and production. Use of release and pipeline ensures that all necessary changes are deployed together to a specific environment and in the proper sequence. As necessary, developers can continue to make changes and the pipeline will progress them through environments automatically until released into the production environment.
For more details see FlexDeploy Oracle CX Commerce Plugin Guide.