Tokenization for DSC

by Donovan Brown 5. September 2014 21:38

Update 3 of Release Management introduced Desired State Configuration (DSC) as a deployment option in addition to the deployer based solution.  With DSC we can utilized the Local Configuration Manager (LCM) already installed on many Microsoft operating systems to deploy our applications without the need to install prerequisites.

 However, I noticed after playing with it for a while that there was no mechanism to tokenize files for transformation. This is a requirement for applications that store configuration information in web.config or app.config files.  This data needs to be updated as the code is promoted from one environment to the next.

I set out to fill this gap by writing a custom resource to transform the files as we can with the deployer based option of Release Management.  Attached to this post is a zip file that contains custom Windows PowerShell Cmdlets, custom DSC Resource and a sample configuration that shows how to use them.

The xReleaseManagement folder contains the implementation of the Trackyon_xTokenize resource to be used in your configurations. This resource requires the Write-Token and Test-Token Cmdlets provided in the Trackyon.PowerShell.ReleaseManagement.Module module also in the attached zip.

Finally in the zip file are to ps1 files with a sample configuration and start-dscconfiguration calls.

All of the Cmdlets, resources and tools are provided AS IS, and are not supported through any support program or service.

xReleaseManagement.zip (15.90 kb)

Tags: , , , , , ,

Speaking at Dog Food Conference 2014

by Donovan Brown 24. August 2014 21:08

If you don't have a chance to see me at TechEd Europe or St. Louis Days of .NET I will also be speaking at Dog Food Conference 2014.

Cross-Platform Development with Team Foundation Server 2013

This session provides an overview of how cross-platform teams can utilize the power of Team Foundation Server (TFS). The power of TFS can be leveraged by developers of any language and platform. We will demonstrate how to use and access TFS from Eclipse and deploy to Linux with continuous Deployment. 

Tags: , ,

Work

Speaking at St. Louis Days of .NET 2014

by Donovan Brown 24. August 2014 20:58

Shortly after returning from speaking at TechEd Europe I will be speaking at St. Louis Days of .NET 2014.

A Practical View of Release Management for Visual Studio 2013

This session provides a detailed technical presentation of the functionality and architecture of Release Management for Visual Studio 2013. We start by presenting an overview of the key concepts, architecture, and configuration of the various components. We discuss the out-of-the box deployment actions available to compose automations for common deployment scenarios and how to use extensibility to cover the not-so-common scenarios. In more detail, we discuss the mechanism to manage variables across environments, how to include manual intervention, automated tests and rollbacks as part of a deployment, how to trigger release as part of a build, how to leverage logs to diagnose failed releases, and finally how to add custom actions to the inventory. These are presented through specific scenarios encountered in the field.

Level: Intermediate 

Automating a Manual test using Microsoft Test Manager and Coded UI Test

This session demonstrates taking a manual test from Microsoft Test Manager (MTM) and automating it with Coded UI testing with Visual Studio.

Level: Beginner 

Cross-Platform Development with Team Foundation Server 2013

This session provides an overview of how cross-platform teams can utilize the power of Team Foundation Server (TFS). The power of TFS can be leveraged by developers of any language and platform. We will demonstrate how to use and access TFS from Eclipse and deploy to Linux with continuous Deployment.

Level: Intermediate 

Tags: , , ,

Work

Speaking at TechEd Europe 2014!

by Donovan Brown 20. August 2014 04:12

I am so excited to be speaking at TechEd Europe 2014.  Come check out the following sessions:

DEV-B310 A Practical View of Release Management for Visual Studio 2013
Breakout
Primary Speaker(s): Claude Remillard, Donovan Brown
Speaker Assistant(s):
Proposed Speaker(s:)
This session demos using Desired State Configuration (DSC) with Release Management for Visual Studio 2013 to tackle real-world deployment challenges. We start by presenting an overview of the key concepts, architecture, and configuration of the various components. We discuss the out-of-the box deployment actions available to compose automations for common deployment scenarios and how to use extensibility to cover the not-so-common scenarios. In more detail, we discuss adding custom DSC resources, how to trigger release as part of a build and how to leverage logs to diagnose failed releases. These are presented through specific scenarios encountered in the field.

DEV-B333 Cross-Platform Continuous Delivery with Release Management for Visual Studio 2013
Breakout
Primary Speaker(s): Donovan Brown
Speaker Assistant(s):
Proposed Speaker(s:)
With Release Management you can achieve true continuous delivery on any platform. This session demos how to use Release Management for continuous delivery in Cross-Platform environments including Windows and Linux.  We will cover how to leverage Desired State Configuration (DSC) and Chef integration to create a release pipeline for both Windows and Linux.

Tags: , , ,

Work

I can't find PowerShell ISE on Windows 8.1

by Donovan Brown 17. August 2014 19:12

Problem:

I can't seem to find the PowerShell ISE on Windows 8.1.

Solution:

http://trekker.net/archives/where-is-the-powershell-ise-in-windows-8/

Tags: , ,

Work

Getting Test Case Import Utilities for Visual Studio 2012 and Visual Studio 2010 to work with TFS 2013

by Donovan Brown 19. June 2014 21:27

Problem:

Recently we had a customer try and use the Test Case Import Utilities for Visual Studio 2012 and Visual Studio 2010 with TFS 2013 but it would crash.

Solution:

Install Team Explorer 2012 and Update 4 for TFS 2012

Explanation:

So I created a clean Windows 8.1 VM in Azure to see what it takes to get past this error.

First I wanted to duplicate the error so the first thing I did was download the Test Case Import Utilities for Visual Studio 2012 and Visual Studio 2010 from http://tcmimport.codeplex.com/.

Make sure and right click on the zip and select Properties so you can unblock it.

The application starts right up as expected but I can’t load my spreadsheet.  That is to be expected because this is a clean Windows 8.1 and does not have office on it. So I install Office Professional Plus 2013 with SP1. I can now load my spreadsheet but when I click Next the application crashes just as it does for our customer.  Perfect!  I was able to duplicate the issue and now I can fix it.

Step 1. Install Team Explorer 2013 update 2.  Once it was installed I connected to my VSO account to make sure I could connect.  I attempted to use the application with the same results.
Step 2. Install Team Explore 2012.  I could not connect to VSO after just installing Team Explorer 2012.
Step 3. Download Update 4 of TFS 2012. After I installed the Update I could connect to VSO.

Now when I run the Test Case Import Utilities for Visual Studio 2012 and Visual Studio 2010 every works as expected!

Tags: ,

Microsoft Test Manager is not creating IntelliTrace files for my web applications

by Donovan Brown 3. June 2014 19:11

Problem:

When I run my test in MTM the bugs I log don't have IntelliTrace files attached.

Solution:

Run MTM as administrator.  If you don't run MTM as administrator the process will not be able to instrument the code for IIS.

Tags: , ,

Work

Validate code automatically during a Team Foundation Build

by Donovan Brown 3. June 2014 19:03

Problem:

I need to run my Layer Diagram validation during my build.

Solution:

Edit your build definition and under Build process parameters, expand Advanced, and type the following in the MSBuild Arguments parameter:

/p:ValidateArchitecture=true

Tags: , , ,

Work

Increase the reach of Code Lens and Code Map

by Donovan Brown 31. May 2014 01:46

Problem:

My code lens does not see references to properties in my MVC views .cshtml files.

Solution:

Install the Razor Generator extension.

Explanation:

While watching a great deep dive of Code Map by Jean-Marc Prieur he mentioned the Razor Generator as a way to enable features in Code Map and Code Lens.

Install both the Razor Generator Extension and the Razor Generator MVC nuget package.  Once the nuget package is installed you can run the Enable-RazorGenerator command from the Package Manager Console. This will cause the Razor Generator to update all your cshtml files so they use a custom tool installed by the Razor Generator extension.

 

This extension allows processing Razor files at design time instead of runtime, allowing tools like Code Map and Code Lens to walk the code and find the references.

Before:

Code Lens showing only 2 references

After:

 

Code Lens showing 3 references

 

Code Map showing the view

Tags: ,

Work

I can't register the Microsoft Deployment Agent 2013

by Donovan Brown 12. May 2014 05:39

Updated:

With update 2 the deployer account no longer as to be an admin on the machine.  The account simply needs to correct permissions to deploy the desired components.  

Problem:

When I attempt to register my deployer I get a 401 unauthorized error.

 

Solution:

Make sure the account you are using is an Administrator on the deployer machine and added to Release Management on the Server.

Also the account running the installer must have access to the Sql Server on the Release Server machine.

Tags: , , ,

Work

About the author

My name is Donovan Brown and I am a Technology Specialist for DevTools with Microsoft with a background in application development.  I also run one of the Nation’s fastest growing online registration sites for motorsports events DLBRacing.com.  When I am not writing software I race cars for fun.  DLBRacing.com has given me the opportunity to combine my two passions writing software and racing cars.

AdSense

Month List

AdSense