Welcome!

Blog Feed Post

V7.0 Plugin Adds Fine-Grained Control to Microsoft TFS/VSTS Deployments

Last year, we showed you how to use our Team Foundation Server (TFS) XL Deploy plugin to create, import and automatically deploy applications from TFS and Visual Studio Team Services (VSTS).

This plugin allows you to build a package with TFS/VSTS, import the package into XL Deploy and automatically trigger a deployment to your chosen environment(s). With this integration, you get an easy, consistent way of packaging and deploying your applications from TFS/VSTS to all your target platforms: from legacy enterprise apps running on on-premise middleware, to cloud, PaaS and Docker.

With the new 7.0 version of the VSTS/TFS plugin for XL Deploy, we’ve improved the plugin even further with the addition of two build/release tasks:

  • Package with XL Deploy – Packages your application
  • Deploy with XL Deploy – Imports the package and deploys it to the chosen environment

Although this functionality was already present in the original XL Deploy “Build” task, breaking it into two separate tasks adds fine-grained control: the “Package with XL Deploy” task can be added to the build pipeline so that you’re only building the package once, while the “Deploy with XL Deploy” task can be added to the release pipeline multiple times so you can deploy that one package to different environments in the pipeline. This ensures that the code you’re deploying to production is exactly the same code that was successfully tested in the lower environments.

To demonstrate how these tasks work, I’ll walk you through how to create an XL Deploy package during the build stage and, later on in your release definition, deploy that package to different environments. Let’s get started…

Building the Artifact

As I described in a previous post, we will keep our Visual Studio Build. However, instead of using the XL Deploy build task, we will add the “Package with XL Deploy” task, which you can find in the Package category in the Task catalog.

Microsoft TFS/VSTS plugin for XL Deployhttps://i2.wp.com/blog.xebialabs.com/wp-content/uploads/2017/07/task_cat... 300w" sizes="(max-width: 630px) 100vw, 630px" data-recalc-dims="1" />

Once we add the task, we need to point it to the right manifest path, choose whether we want the task to set the version of the created package based on the build number and, in our case, publish the artifact to TFS. If the latter option is selected, once the package is created, it will be uploaded to TFS and associated as an artifact to the current build. At the end, the result should be similar to the following:

Microsoft TFS/VSTS plugin for XL Deployhttps://i0.wp.com/blog.xebialabs.com/wp-content/uploads/2017/07/package_... 300w, https://i0.wp.com/blog.xebialabs.com/wp-content/uploads/2017/07/package_... 768w, https://i0.wp.com/blog.xebialabs.com/wp-content/uploads/2017/07/package_... 1024w" sizes="(max-width: 1000px) 100vw, 1000px" data-recalc-dims="1" />

 

We can now try the build and, if successful, we should see a DAR package under the build artifacts.

 

Microsoft TFS/VSTS plugin for XL Deployhttps://i2.wp.com/blog.xebialabs.com/wp-content/uploads/2017/07/build_re... 300w, https://i2.wp.com/blog.xebialabs.com/wp-content/uploads/2017/07/build_re... 630w, https://i2.wp.com/blog.xebialabs.com/wp-content/uploads/2017/07/build_re... 315w" sizes="(max-width: 643px) 100vw, 643px" data-recalc-dims="1" />

Once we see that the artifact uploaded, we can move to the next step.

Deploying from the VSTS Release Management

We are now going to create a new release definition and start with an empty template. As the artifact source, we are going to indicate a build, and from the relevant drop-down menu, select the build definition that we created in our previous step. You also may choose to select a continuous deployment option and a specific build queue for this build.

Microsoft TFS/VSTS plugin for XL Deployhttps://i2.wp.com/blog.xebialabs.com/wp-content/uploads/2017/07/create_r... 150w, https://i2.wp.com/blog.xebialabs.com/wp-content/uploads/2017/07/create_r... 300w, https://i2.wp.com/blog.xebialabs.com/wp-content/uploads/2017/07/create_r... 120w" sizes="(max-width: 586px) 100vw, 586px" data-recalc-dims="1" />

Now that we’ve created the release definition for the initial environment, we’ll choose Add Task and then select the “Deploy with XL Deploy” build task from the Task catalog.

Microsoft TFS/VSTS plugin for XL Deployhttps://i0.wp.com/blog.xebialabs.com/wp-content/uploads/2017/07/task_cat... 300w" sizes="(max-width: 628px) 100vw, 628px" data-recalc-dims="1" />

This task will allow us to import the DAR package into XL Deploy and trigger the deployment for the desired environment. Bear in mind that the plugin will check if the package is already in XL Deploy and, if so, will skip the import. This means that if you are using it multiple times for different environment definitions, it will only be imported the first time.

Now we need to select the XL Deploy Endpoint, which indicates the instance of XL Deploy we are using for this deployment, and fill in the necessary indications about the artifact location and the name of our target environment. For further information about selecting the XL Deploy Endpoint, see “Add an XL Deploy endpoint in Visual Studio Team Services.”

If the release process can pick up the artifact from the TFS server, it means that the release process itself will deliver the artifact, which it gets from the associated build. If you are not uploading the artifact to the TFS Server, you can make it available to the release process from an alternative source, such as a file share. In this case, the release task will copy the file from the UNC path you provide.

Microsoft TFS/VSTS plugin for XL Deployhttps://i2.wp.com/blog.xebialabs.com/wp-content/uploads/2017/07/release_... 300w, https://i2.wp.com/blog.xebialabs.com/wp-content/uploads/2017/07/release_... 768w, https://i2.wp.com/blog.xebialabs.com/wp-content/uploads/2017/07/release_... 1024w" sizes="(max-width: 1000px) 100vw, 1000px" data-recalc-dims="1" />

And that’s it! Now we can create a new release and let our task delegate the deployment to XL Deploy.

To Learn More

You can find more VSTS specific information here, and the VSTS extension for XL Deploy here.

 

The post V7.0 Plugin Adds Fine-Grained Control to Microsoft TFS/VSTS Deployments appeared first on XebiaLabs Blog.

Read the original blog entry...

More Stories By XebiaLabs Blog

XebiaLabs is the technology leader for automation software for DevOps and Continuous Delivery. It focuses on helping companies accelerate the delivery of new software in the most efficient manner. Its products are simple to use, quick to implement, and provide robust enterprise technology.

Latest Stories
In his session at @ThingsExpo, Dr. Robert Cohen, an economist and senior fellow at the Economic Strategy Institute, presented the findings of a series of six detailed case studies of how large corporations are implementing IoT. The session explored how IoT has improved their economic performance, had major impacts on business models and resulted in impressive ROIs. The companies covered span manufacturing and services firms. He also explored servicification, how manufacturing firms shift from se...
IoT is at the core or many Digital Transformation initiatives with the goal of re-inventing a company's business model. We all agree that collecting relevant IoT data will result in massive amounts of data needing to be stored. However, with the rapid development of IoT devices and ongoing business model transformation, we are not able to predict the volume and growth of IoT data. And with the lack of IoT history, traditional methods of IT and infrastructure planning based on the past do not app...
For far too long technology teams have lived in siloes. Not only physical siloes, but cultural siloes pushed by competing objectives. This includes informational siloes where business users require one set of data and tech teams require different data. DevOps intends to bridge these gaps to make tech driven operations more aligned and efficient.
For organizations that have amassed large sums of software complexity, taking a microservices approach is the first step toward DevOps and continuous improvement / development. Integrating system-level analysis with microservices makes it easier to change and add functionality to applications at any time without the increase of risk. Before you start big transformation projects or a cloud migration, make sure these changes won’t take down your entire organization.
It is ironic, but perhaps not unexpected, that many organizations who want the benefits of using an Agile approach to deliver software use a waterfall approach to adopting Agile practices: they form plans, they set milestones, and they measure progress by how many teams they have engaged. Old habits die hard, but like most waterfall software projects, most waterfall-style Agile adoption efforts fail to produce the results desired. The problem is that to get the results they want, they have to ch...
Organizations planning enterprise data center consolidation and modernization projects are faced with a challenging, costly reality. Requirements to deploy modern, cloud-native applications simultaneously with traditional client/server applications are almost impossible to achieve with hardware-centric enterprise infrastructure. Compute and network infrastructure are fast moving down a software-defined path, but storage has been a laggard. Until now.
Without a clear strategy for cost control and an architecture designed with cloud services in mind, costs and operational performance can quickly get out of control. To avoid multiple architectural redesigns requires extensive thought and planning. Boundary (now part of BMC) launched a new public-facing multi-tenant high resolution monitoring service on Amazon AWS two years ago, facing challenges and learning best practices in the early days of the new service.
Digital Transformation is much more than a buzzword. The radical shift to digital mechanisms for almost every process is evident across all industries and verticals. This is often especially true in financial services, where the legacy environment is many times unable to keep up with the rapidly shifting demands of the consumer. The constant pressure to provide complete, omnichannel delivery of customer-facing solutions to meet both regulatory and customer demands is putting enormous pressure on...
The best way to leverage your CloudEXPO | DXWorldEXPO presence as a sponsor and exhibitor is to plan your news announcements around our events. The press covering CloudEXPO | DXWorldEXPO will have access to these releases and will amplify your news announcements. More than two dozen Cloud companies either set deals at our shows or have announced their mergers and acquisitions at CloudEXPO. Product announcements during our show provide your company with the most reach through our targeted audienc...
DXWorldEXPO LLC announced today that All in Mobile, a mobile app development company from Poland, will exhibit at the 22nd International CloudEXPO | DXWorldEXPO. All In Mobile is a mobile app development company from Poland. Since 2014, they maintain passion for developing mobile applications for enterprises and startups worldwide.
With 10 simultaneous tracks, keynotes, general sessions and targeted breakout classes, @CloudEXPO and DXWorldEXPO are two of the most important technology events of the year. Since its launch over eight years ago, @CloudEXPO and DXWorldEXPO have presented a rock star faculty as well as showcased hundreds of sponsors and exhibitors!
JETRO showcased Japan Digital Transformation Pavilion at SYS-CON's 21st International Cloud Expo® at the Santa Clara Convention Center in Santa Clara, CA. The Japan External Trade Organization (JETRO) is a non-profit organization that provides business support services to companies expanding to Japan. With the support of JETRO's dedicated staff, clients can incorporate their business; receive visa, immigration, and HR support; find dedicated office space; identify local government subsidies; get...
"Akvelon is a software development company and we also provide consultancy services to folks who are looking to scale or accelerate their engineering roadmaps," explained Jeremiah Mothersell, Marketing Manager at Akvelon, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
Both SaaS vendors and SaaS buyers are going “all-in” to hyperscale IaaS platforms such as AWS, which is disrupting the SaaS value proposition. Why should the enterprise SaaS consumer pay for the SaaS service if their data is resident in adjacent AWS S3 buckets? If both SaaS sellers and buyers are using the same cloud tools, automation and pay-per-transaction model offered by IaaS platforms, then why not host the “shrink-wrapped” software in the customers’ cloud? Further, serverless computing, cl...
All organizations that did not originate this moment have a pre-existing culture as well as legacy technology and processes that can be more or less amenable to DevOps implementation. That organizational culture is influenced by the personalities and management styles of Executive Management, the wider culture in which the organization is situated, and the personalities of key team members at all levels of the organization. This culture and entrenched interests usually throw a wrench in the work...