Central Release and Build Management with TFS Christian Schlag
OUR DAILY MOTIVATION It s hard enough for software developers to write code that works on their machine. But even when it s done, there s a long journey from there to software that s producing value since software only produces value when it s in production. Martin Fowler 2
AGENDA DevOps Yet another new term? Release Management within MS tool landscape Release Process Roundtrip Example Benefits of Release Management Licensing News in Build Process Templates with TFS 2013 Conclusion 3
DEVOPS YET ANOTHER NEW TERM? 4
DEVOPS YET ANOTHER NEW TERM? QA Dev Operations Running Application 5
DEVOPS YET ANOTHER NEW TERM? 6
RELEASE MANAGEMENT IN THE MS TOOL LANDSCAPE 7
TFS OVERVIEW TOOL PERSPECTIVE Version Control Requirements Management Project Management Analytics Customizable Processes Build Automation Test Case Management End-to-End Traceability Lab Management E X T E N S I B L E A P I s 8
CONTINUOUS VALUE PROCESS PERSPECTIVE Plan Agile portfolio management Kanban customization Work item tagging REQUIREMENTS BACKLOG Build Measure Learn Operate Visual Studio and System Center integration Performance events Develop Team Room Git Code Information Indicators.NET memory Dump Analyzer Load Testing as a Service Construct Collaborate Operate RELEASE WORKING SOFTWARE Release Integrated release management Configuration-based deployments
RELEASE PROCESS 10
OPTIMIZING THE RELEASE CYCLE Testing time Team Foundation Server DEV INT QA PROD Provision Deploy Coordination 11
RELEASE PROCESS 12
RELEASE CYCLE 13
STAGE RANK 14
ARCHITECTURE DEV Team Foundation Server Drop Location RM Server QA RM Web RM Client 15
ROUNDTRIP EXAMPLE 16
BASIC SCENARIO MySolution C:\Drop C:\Apps\Dev Ronald Releasemanager C:\Apps\Prod Ronald Releasemanager 17
BENEFITS OF RELEASE MANAGEMENT 18
GOALS More productive employees Improve quality of software in production Faster time to market 19
BENEFITS OF AUTOMATION Minimizing of monotonous work More time for creative work Automated tasks are faster than manual tasks Improvement of quality In the long run: automated processes cost less than manual processes 20
LICENSING 21
LICENSING I Each person using the Release Management Client for Visual Studio 2013 for creating, updating, or deleting a release pipeline sequence must be licensed for either Visual Studio Ultimate with MSDN, Visual Studio Premium with MSDN, Visual Studio Test Professional with MSDN, or MSDN Platforms. 22
LICENSING II Each person triggering the release pipeline sequence must be licensed with a Team Foundation Server CAL. However, a Team Foundation Server CAL is not required to approve stages or to sign off on a release. 23
LICENSING III Each node or endpoint to which an application is being deployed must be licensed with one of these two Visual Studio Deployment offerings: 24
LICENSING - SUMMARY Visual Studio Ultimate includes a license for two deployment endpoints (environments) actual promo action till 27.06.2014 (see references) 25
NEWS IN BUILD PROCESS TEMPLATES WITH TFS 2013 26
TEAMBUILD - NEW FEATURES GIT support Output location is configurable Script support (e.g. PowerShell) before and after Build and Test step Build results can be stored in Source Control; downloadable as zip file Standard templates stored centrally Windows 8.1 App support 27
COMPARISON - XAML FILE 2012 2013 28
COMPARISON - PARAMETERS 2012 2013 29
CUSTOMIZE A TEMPLATE If the task requires knowledge of specific build inputs or outputs, use MSBuild. If the task is something you need to happen when you build in Visual Studio, use MSBuild. If the task is something you only need to happen when you build on the build server, use Windows Workflow Foundation unless the task requires knowledge of specific build inputs/outputs. cf. Jim Lamb 30
CUSTOMIZE A TEMPLATE DECIDE BETWEEN SCRIPT OR CODE ACTIVITY: If script: 1. Create script (e.g. PowerShell) 2. Define appropriate build parameters If Code Activity: 1. Create an Activity Library 2. Write C# Code (regard In- and Out-Arguments) 3. Put Code Activity at right position inside the Template 4. Define Build Parameters if needed 31
CONCLUSION 32
SUMMARY Another gap in the ALM closed Powerful tool Not fully integrated, yet Some difficulties in detail Good starting point Deploy to production might not be suitable for all customers Future of Release Management 33
OPEN TOPICS Outlook: Security concept Execute tests with Release Management Configuration of tokens (dealing with different settings on each environment) 34
REFERENCES Jim Lamb, http://blogs.msdn.com/b/jimlamb/archive/2010/06/09/windows-workflow-vs-msbuildin-tfs-2010.aspx Dev2Ops, http://dev2ops.org/2010/02/what-is-devops/ RM Licensing, http://www.visualstudio.com/en-us/products/how-to-buy-release-managementvs.aspx RM Promo Action, http://www.microsoft.com/dede/licensing/lizenzerwerb/promotions/visual-studio-release-management-angebot.aspx 35
WIR UNTERSTÜTZEN SIE KONTAKT Christian.Schlag@aitgmbh.de +49 151 55052630 AIT GmbH & Co. KG Leitzstr. 45, 70469 Stuttgart www.aitgmbh.de BERATUNG Agile ALM und TFS.NET und Architektur ENTWICKLUNG Dienstleister für individuelle Lösungen mit.net und Azure AIT GmbH & Co. KG Alle genannten und gezeigten Marken oder Warenzeichen sind eingetragene Marken oder eingetragene Warenzeichen ihrer jeweiligen Eigentümer und ggf. nicht gesondert gekennzeichnet. Aus dem Fehlen der Kennzeichnung kann nicht geschlossen werden, dass es sich bei einem Begriff oder einem Bild nicht um eine eingetragene Marke oder ein eingetragenes Warenzeichen handelt. AIT GmbH & Co. KG Ihre Software effizienter entwickelt 36