CLI commands
Let’s start by introducing the two Enterspeed CLI commands we will be using in this guide.Extract deployment plan
json file containing the schema alias and version number for all schemas deployed to the environment.
Deployment plan example
Deploy deployment plan
Setting up Continuous deployment
For this example project, we have a CMS and a frontend application in the same repo. It’s completely up to you want to structure your project.This guide demonstrates how you can set up your CD pipeline using Azure pipelines, but the same concepts apply if you use Github Action, Jenkins, or any other CD tool.
1. Add the Enterspeed CLI and a pipeline file to the repo
The first step is to download the Enterspeed CLI and add thees-cli.exe file as well as a azure-pipeline.yml file to the root of the repo.

2. Update pipeline file
Next step is to update the Azure pipeline file to the functionality that you want in the CD pipeline. Below is an example of a pipeline file that automatically runs on every push to themaster branch.
The pipeline consists of three stages, Build, ReleaseToStage and ReleaseToProduction.
Build stage
The first stage, the Build stage, is where we build the frontend and the CMS application.
Note: In this pipeline example the Build stage is just adding a dummy step that prints out a text because it’s not really the important part of the guide and because the build stage could vary a lot depending on the project you are building.
Build stage
ReleaseToStage stage
The second stage, the ReleaseToStage, is way more interesting. Here we use the two Enterspeed CLI commands we showed in the beginning of this guide.
With the first task, we extract the deployment plan from the Development environment.
The && type deploymentplan.json at the end of the command will print out the content of the deployment plan in the log. This way you can always go back to a given release and see exactly which schemas were deployed as part of that release.
Stage environment.
ReleaseToStage stage
ReleaseToProduction stage
The third stage, the ReleaseToProduction, is almost an exact copy of the second stage. The only difference is that we are now extracting the deployment plan from the Stage environment and deploying it to the Production environment.
ReleaseToProduction stage
3. Run the pipeline
Now it’s time to run the pipeline and see how the schemas are deployed to the different environments.Development
But before we do the first run, let’s go to theVersions page in Enterspeed and see the state of our environments.
Here we can see that we have three schemas deployed in version 1 and one schema deployed in version 2 on the Development environment. After deployment to the Stage environment, we should get the same state as on the Development environment.

Stage
After pushing the changes to themaster branch, the pipeline starts to deploy the changes and the schemas to the Stage environment.

Versions page in Enterspeed, we can now see that the schemas from Development have automatically been deployed to Stage.

Production
Let’s continue the pipeline and take the release the last step out toProduction.

Versions page in Enterspeed, we can now see that the schemas from Stage have automatically been deployed to Production.
