So, the time has come to pen down my experience with XL Deploy
(XLD). In this blog, I will tell you how to start with XLD and talk about my opinion.
Before, we were using XAML builds along with a Release Management (RM) tool which was installed on the Build Agent machine. Currently, we have migrated all of our components to VSTS build and XL Deploy. It is a web based tool which means that it is accessible from any machine. There’s no maintenance over head. Just connect to Windows or Unix target system and use this application with ease.
Lets see what steps you need to take to start off with XL Deploy.
To start with XL Deploy
Step 1. Create XL configuration
Before any of the steps, we need to add the configurable items in the form of keys and values. So for XL Deploy, we create the keys in a XL config file and give the values in the Dictionary in the XLD web application. This is very similar to any other release automation tools. But the added advantage here is we can define our own delimiters for the keys.
XL config file in the solution:
Keys and values in the above config file:
Keys and values in the XLD Dictionary:
Step 2. Create a manifest file
The manifest file is an XML file that describes the contents of the package for deployment. We can create the deployable package (DAR) first and then export the manifest file. Or, we can create the manifest file manually and then the DAR package will be created according to the manifest file definition.
Manifest file with one of the component tag:
We can export the manifest file as shown below from the package in XLD:
Step 3. VSTS Build
Since XLD requires a VSTS build for creating the deployment package, we need to create a VSTS build of the application. There is a XLDeploy plugin task which can be added after all the other tasks (like MS Build, copying artifacts, running test assemblies). So, at the end of all these tasks the XL Deploy plugin creates a DAR package. This DAR package will be available in XL Deploy web application.
XL Deploy plugin task in the VSTS build:
Step 4. Deploy using build pipeline or manual deploy
So once the XL Deploy plugin task is enabled in the VSTS build. We can deploy it from the build pipeline or we can login to the XLD application and deploy it manually.
The XL Deploy plugin task in the VSTS build:
Manual deploy from the XL Deploy tool:
The ease of individual component deployment
What I really liked about this tool is the selective deployment. We can choose individual components to deploy. Our application has 5 components in one of the deployable packages. We provided a hotfix recently with a few changes in only one component. So, we deployed only that one component, leaving the other components untouched.
Then, we have a component that needs to be deployed in two servers with different configurations. These scenarios can also be handled very well in XLDeploy.
So from the above, we can see it’s really handy to work with XL Deploy. Developers/DevOps engineers can choose the components they want to deploy and manage configurations.
XL Deploy is an agentless application for release automation. We can use it for selective deployment of the individual components. It really made our life easier with one of our recent hotfixes.