12/4/2018 9:56 AM OSP432 Application Lifecycle Management - automated builds and testing for SharePoint projects Jay Schmelzer © 2007 Microsoft Corporation.

Slides:



Advertisements
Similar presentations
Interactivity Navigating a data model Working with large quantities of data Entry Editing and adding data User feedback and validation Presentation.
Advertisements

Feature: Customer Combiner and Modifier © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
Testing Azure Applications with Visual Studio 2010 Abhishek Agrawal Senior Program Manager Visual Studio Microsoft Corporation
Connect with life Vedant Kulshreshtha Technology Solutions Professional – SharePoint | Microsoft India
Application Lifecycle Management - automated builds and testing for SharePoint projects Chris O’Brien SharePoint MVP OSP432.
Joy Rathnayake Senior Architect – Virtusa Pvt. Ltd.
What’s New with IIS 8: Open Web Platform for Cloud
Demand Management and Workflow
Microsoft Virtual Academy
Microsoft Virtual Academy
Building Compliant Team Sites
Modern Application Lifecycle Management
Running Reporting Services in SharePoint Integrated Mode: How and Why
6/13/2018 1:23 AM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
6/17/2018 5:54 AM OSP322 Getting the best of both worlds, making the most of SharePoint hybrid search solutions Shyam Narayan Microsoft © 2013 Microsoft.
Microsoft Virtual Academy
Microsoft Virtual Academy
Continuous Delivery of Windows Azure Cloud Services (DEV310)
SharePoint Saturday Detroit
Release Management with Visual Studio Team Services
Overview of Social Computing in Microsoft SharePoint 2010
Microsoft Virtual Academy
Microsoft Ignite NZ October 2016 SKYCITY, Auckland.
TechEd /21/2018 3:13 PM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered.
Real World BI Reporting with Project Server 2010
11/29/2018 2:52 AM MDC317A Continuous Delivery - The Agile End to End Story for Developers & IT Pros! Morgan Webb Technical © 2013.
Using Windows Runtime and SDK to build Metro style apps
Windows 7 Deployment en Masse
Microsoft Virtual Academy
Deep Dive into the Team Foundation Server 2012 Agile Planning Tools
Team Foundation Server 2010 for Everyone
12/9/ :15 AM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
12/9/2018 Desktop Virtualization Corey Hynes Kyle Rosenthal President Technical Lead HynesITe Inc Spider Consulting @windowspcguy.
What’s new with Microsoft’s project portfolio management
Tech·Ed North America /2/2019 4:47 PM
Tech·Ed North America /17/2019 1:47 AM
TechEd /18/ :08 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered.
Microsoft SharePoint Conference 2009 Jon Flanders
Microsoft Virtual Academy
2/17/2019 7:32 AM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Visual Studio 2010 SharePoint Development Tools Overview
2010 Microsoft BI Conference
Building Silverlight Apps with RIA Services
From Development to Production: Optimizing for Continuous Delivery
Building SaaS Solutions on Windows Azure
2/27/2019 © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks.
Developing and Managing SharePoint Solutions with Visual Studio 2012
Developing and Managing SharePoint Solutions with Visual Studio 2012
TechEd /28/2019 3:22 PM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
TechEd /3/ :48 PM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Creating and Consuming OData Services for Business Applications
From Development to Production: Optimizing for Continuous Delivery
Making the most of Search in Microsoft SharePoint Online
TechEd /23/2019 9:23 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Microsoft Build /20/ :42 PM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
Виктор Хаджийски Катедра “Металургия на желязото и металолеене”
Microsoft Virtual Academy
Service Template Creation from the Ground Up
What’s new in Visual Studio 2012
5/1/2019 3:29 AM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Service Template Creation from the Ground Up
Шитманов Дархан Қаражанұлы Тарих пәнінің
Running Reporting Services in SharePoint Integrated Mode: How and Why
Developer Collaboration with Team Foundation Server 2012
Microsoft Virtual Academy
Office 365 Development July 2014.
Welcome to Architect Insight 2010
Tech·Ed North America /17/2019 4:14 PM
What's new in Project Pro for Office365 and Sync to SharePoint Online
What’s New in Visual Studio 2012 for Web Developers
Presentation transcript:

12/4/2018 9:56 AM OSP432 Application Lifecycle Management - automated builds and testing for SharePoint projects Jay Schmelzer © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Chris O’Brien - Introduction Independent SharePoint consultant Blog: www.sharepointnutsandbolts.com Twitter: @ChrisO_Brien Book: Real World SharePoint 2010 (20 MVPs) LinkedIn: http://uk.linkedin.com/in/chrisobrienmvp

Challenges in SP2010 dev projects Many dependencies Code, Features, timer jobs Deployment is complex No native support for WSP rollback Challenging to unit test Still not much traction in SharePoint world?

Challenges in *large* SP2010 dev projects Tracking Hard to keep track of deployments/fixes Many developers = many deployments? Inefficiency Devs keeping environment up-to-date Inconsistent builds (or buildmaster bottleneck) Silly mistakes e.g. Incorrect versions Debug vs. Release mode Testing of actual WSPs Communication

Solution recipe Auto-compile of assemblies and build of WSPs Correct versions in source control Add a label in source control to help rollback Auto incrementing assembly version number Better tracking of deployments/fixes etc. Deployment of WSPs to remote SharePoint 2010 environment Test environment, not developer machine UI testing Build fails on UI test failure Developer notifications

Solution ingredients Skills TFS Team Build workflow (.Net 4.0) “Good enough” PowerShell “Good enough” workflow (3.5 OK) TFS Team Build workflow (.Net 4.0) Specifies sequence of steps PowerShell Deploys WSPs, other deployment steps e.g. teardown/setup site PowerShell remoting (preferred over PsExec) Allows PS on SharePoint box to be called from build server Invoke-Command -ComputerName “foo” { script }

Build definition Customize workflow Styles: What’s the trigger? Manual, Scheduled (e.g. nightly), every check-in, Rolling builds etc. Customize workflow Mandatory for SharePoint builds Several workflows OOB DefaultProcessTemplate, LabProcessTemplate “Rebuild everything” Suits pre-live “Build current sprint against production state” Suits post-live

Chris O’Brien SharePoint MVP Independent 12/4/2018 9:56 AM demo Automating the build Chris O’Brien SharePoint MVP Independent © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Coded UI tests – an introduction Recorded on test agent desktop Support: browser (inc. AJAX), Silverlight, WPF, forms apps Generate code which can be modified (e.g. to pass data) Point and click to add assertions E.g. navigate to web part gallery, check web part present

Testing SharePoint with Coded UI Tests 12/4/2018 9:56 AM demo Testing SharePoint with Coded UI Tests Chris O’Brien SharePoint MVP Independent © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Integrating coded UI tests into build Call all test types from command line with MSTest.exe Unit tests, Coded UI tests, Load tests, Etc. Team Build ships with MSTest WF activity (wrapper) Preferred – edit workflow to move test logic block to *after* WSP deployment Ensure test assemblies are deployed (i.e. include in build)

Adding coded UI tests to the build 12/4/2018 9:56 AM demo Adding coded UI tests to the build Chris O’Brien SharePoint MVP Independent © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Collecting system/event log data Why stop at UI testing? Code analysis Unit tests SPDispose Check Load tests Video recordings Collecting system/event log data

Best practices Start on day 0 of project Retro-fitting can be expensive Get fast feedback - have a lightweight/quick build run on check-in Compile all projects/build WSPs Suggestion - every SharePoint project should do this much Increment assembly versions (FileVersion) with label generated by build Leverage UI testing (with or without automated builds)

12/4/2018 9:56 AM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Related Content DEV343 - Implementing Team Foundation Server in the Enterprise: Guide to a Successful Implementation DEV19-HOL - Discover How the New Features of Team Foundation Server 2012 Can Improve Collaboration in Your Development Team Find Me Later At – TLC 10am today

Resources Blog series - Continuous Integration for SharePoint 2010 - http://bit.ly/SpCI_1 Build scripts – http://sharepointci.codeplex.com PS remoting and SharePoint 2010 - http://bit.ly/9Cb4tF

Deliver the Best Productivity Experience The Business Collaboration Platform for the Enterprise and the Internet The Business Collaboration Platform for the Enterprise & the Internet Deliver the Best Productivity Experience Cut Costs with a Unified Infrastructure Rapidly Respond to Business Needs The capabilities of SharePoint 2010 provide a powerful business collaboration platform

Project and SharePoint Better Together Manage Resources Improve efficiency and save money by better managing work and allocation of resources Maximize Portfolio Returns Make informed investment decisions and effectively communicate results across a portfolio of projects Keep Teams Productive Save time and improve project results by centralizing team collaboration on deliverables and tasks Improve SharePoint ROI Effectively manage requests to maximize the ROI of your SharePoint environment www.sharepoint.microsoft.com www.microsoft.com/project

Resources Learning TechNet http://europe.msteched.com Connect. Share. Discuss. http://europe.msteched.com Microsoft Certification & Training Resources www.microsoft.com/learning TechNet Resources for IT Professionals http://microsoft.com/technet Resources for Developers http://microsoft.com/msdn

Submit your evals online 12/4/2018 9:56 AM Evaluations Submit your evals online http://europe.msteched.com/sessions © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

12/4/2018 9:56 AM © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Appendix slides

What you need - software Automated builds = TFS 2010 (Team Build) Server + 1 CAL free with nearly every MSDN level Need CAL for every user who interacts Components: Build Controller, Build Agent Coded UI tests = Visual Studio 2010 Premium/Ultimate Components: Test Controller, Test Agent

What you need - hardware Option 1 – the EASY button TechEd 2012 12/4/2018 9:56 AM What you need - hardware Option 1 – the EASY button Disadvantages: Risk to source control Performance SP2010 + TFS2010 = big resource reqs Bottom line: Don’t do this with prod source control! © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

What you need - hardware Option 2 – a sample topology TechEd 2012 12/4/2018 9:56 AM What you need - hardware Option 2 – a sample topology © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

PowerShell remoting To enable - on SharePoint box Task PS command Allow remote connections Enable-PSRemoting Raise memory limit (e.g. for WSP cmds) Set-Item WSMan:\localhost\Shell\MaxMemory PerShellMB 1000 Allow users from other domain Set registry key Also configure CredSSP authentication

12/4/2018 9:56 AM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.