Visual Studio Release Management and PaaS

Can you deploy Platform as a Service (PaaS) components to Azure using Visual Studio Release Management? I get this question quite often lately. Short answer: yes you can. And how? Via a virtual machine. Yes – this is Infrastructure as a Service (IaaS) and not PaaS. Yes – this is not what you expected. Me neither. But it’s the only supported way right now. I hope this will change in future versions and that we get a “Azure PowerShell” like we have in Build.VNext. But right now this is the way to go. If you watch BREAKPOINT: Release Management and … Continue reading Visual Studio Release Management and PaaS

New Version of Release Explorer available

There is a new version (2.1 beta) of the Release Explorer for Visual Studio 2013 available. The release explorer is a visual studio extension that allows you to manage your Release Management items from within your Team Explorer in Visual Studio. It is still beta – but the new Version is a lot better than the previous. The current version now allows you to connect to the server using your credentials and you don’t have to save the password in plain text here. This was the biggest pain in the first version for me. In the context menu of a … Continue reading New Version of Release Explorer available

Be careful with custom variable names in Release Management

If you use Visual Studio Release Management vNext / 2013 with PowerShell/DSC you probably have a lot of custom configuration variables that you pass to your scripts. Be careful when you choose the names for these variables because! There are a lot of reserved words. For example the word UserName is reserved. This leads to very odd error messages that are really hard to track down: System.AggregateException: One or more errors occurred. —> Microsoft.TeamFoundation.Release.Common.Helpers.OperationFailedException: Permission denied while trying to connect to the target machine <hostname> on the port:5985 via power shell remoting. Please check the following link for instructions: http://go.microsoft.com/fwlink/?LinkID=390236System.Management.Automation.Remoting.PSRemotingTransportException: … Continue reading Be careful with custom variable names in Release Management

Moving from PowerShell DSC to Release Management vNext DSC

If you’ve learned plain PowerShell Desired State Configuration (DSC) and then move to Visual Studio Release Management vNext there are a lot of gotchas that can cost you many hours or event days to figure them out. I thought I share some things I’ve learned the hard way to get people up and running more quickly. If you use plain DSC you normally have one structural configuration for the entire environment and an environment specific configuration that you change for each environment. Environment Configuration(Dev/Test/Prod) $TargetFolder = “C:\inetpub\wwwroot\Demo”$WebServerCount = 2 .psd1 Structural Configuration WindowsFeature IIS{    Name = “Web Server”    Ensure = … Continue reading Moving from PowerShell DSC to Release Management vNext DSC

Packaging DSC configurations for Visual Studio / TFS Release Management vNext

If you are using Visual Studio Release Management vNext to release your applications you’ll probably have DSC (Desired State Configuration) configurations that are shared between applications or provided by your operations team. In both cases they have a different lifecycle than your application and should be provisioned individually. But how do you publish PowerShell scripts or other files with the TFS build engine without creating empty solutions and adding the files? What you can do is to add a simple project file like TFSBuild.proj that calls a PowerShell script. This project file can be used in a team build. The … Continue reading Packaging DSC configurations for Visual Studio / TFS Release Management vNext

Multitasking mit Visual Studio 2013 MyWork

In Visual Studio / TFS hat sich die letzten Versionen kontinuierlich die Integration von WorkItems und Code verbessert. Eines der neuen Features ist z.B. MyWork. Dieses automatisiert das Update von Workitems und erlaub das parallelisieren von Arbeitsaufgaben. Um das Feature zu zeigen muss man sich erst mal WorkItems zuordnen. Dies geschieht am einfachsten über das Taskboard indem man direkt die Kachel editiert oder mit Personenfilter die Aufgaben zu der Person zieht.   Wem der Umgang mit dem neuen Taskboard noch fremd ist, dem empfehle ich den Artikel Work in sprints. Hier werden kurz und knapp die wichtigsten Funktionen dargestellt. Wichtig … Continue reading Multitasking mit Visual Studio 2013 MyWork

Keine Angst vor dem Mergen…

Immer wieder sehe ich, dass Entwickler Probleme mit dem Mergen von Code im Repository haben. Das Mergen ist aber kein mystischer Vorgang, bei dem uns der TFS unseren Code zerstört. Das Mergen ist einfach nur das Zusammenführen von Änderungen mehrerer Personen an denselben Dateien. Wenn z.B. zwei Entwickler einer Klasse je eine Funktion hinzufügen, dann meldet der TFS einen Konflikt. Die Funktionen “Keep Local Version” und “Take Server Version” dienen nur zum Zurücksetzen und spielen hier keine Rolle. Ein Klick auf “Merge Changes In Merge Tool” öffnet das Mergetool. In den oberen beiden Fenstern sieht man die Änderungen: lokal (Yours) … Continue reading Keine Angst vor dem Mergen…

Modeling Requirements and Software Architecture in Visual Studio 2010

Introduction Some people think that if you do agile software development you do not need to model your application and write UML and architecture documentation. This is not true. You even have to do more of it – you only do it at a different time. You do not do all the modeling beforehand and then build your application – you always design a little and, subsequently, develop a little. If you have several people involved in different projects, it is even more important that you have a consistent way to model and document your requirements and software architecture. Using … Continue reading Modeling Requirements and Software Architecture in Visual Studio 2010