ASP.NET, CMS, Commerce, DevOps & Cloud Solutions

CI/CD Pipeline for Episerver DXC Service

What is Episerver DXC service?

DXC service is a fully managed service by Episerver where the only thing the developer needs to do is to send the code to integration environment. Episerver provides a portal from where the code can be pushed from integration environment to the preproduction environment. Developers only have console access to the integration environment and code push access to the preproduction environment. For pushing the code to production environment, developers have to raise a ticket to the episerver support team. It can be raised from the portal or by sending an email to support@episerver.com.

What is continuous Integration?

Continuous Integration is a development practice that requires developers to integrate code into a shared repository at regular intervals. This concept was meant to remove the problem of finding later occurrence of issues in the build life cycle Continuous integration requires the developers to have frequent builds.This common practice is that whenever a code commit occurs,a build should be triggered.

Solution suggested by Episerver

According to Episerver developers can use publish profile directly on the local machine to send the code to the integration environment. But this becomes chaotic when 2 or more developers are engaged. This is where the Episerver team suggested that we use octopus deploy for CI/CD implementation.We have come up with our own solution using Jenkins.

What is the Procedure Followed?
  • Create a Jenkins Job.
  • Click on Configure.
  • Developers are given access to run the build and cancel the build through the matrix authentication.
  • Code is to be pulled from Git repository using git plugin installed in Jenkins.
  • Ms build plugin is used for building the solution file(.sln).
  • Webhooks are generated in gitlab/github to trigger job whenever a push or a merge request is made.
  • Artifacts are archived. The artifacts here are a series of folders and configuration files.
  • Also the configs of the Pre-Prod and Prod are to be sent to integration environment as the code is push to preproduction using slot technology.
  • Artifacts are sent to the integration server using Azure App service plugin in Jenkins.
  • Azure App service is configured by providing the following info in the global tool configuration.

Client/Application ID:

Subscription ID:

Tenant ID:

Password/Key:

  • Once the build is successful and the artifacts are sent to the integration server a mail is triggered with the status of the build sent to the team.
Note:
  • All the above information can be received from Epi support team by raising a ticket.
  • You will be getting the AD access for the project in Epi. Everytime you want to work with the Episerver DXC server.

About The Author