sofia event center 14-15 may 2014 branimir giurov c# mvp solution architect bulpros consulting...

13
Sofia Event Center 14-15 May 2014 Branimir Giurov C# MVP Solution Architect BulPros Consulting Continuous Integration of Sharepoint 2013 Solutions with VS 2013 and Visual Studio Online

Upload: wilfred-wilkins

Post on 18-Jan-2016

227 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sofia Event Center 14-15 May 2014 Branimir Giurov C# MVP Solution Architect BulPros Consulting Continuous Integration of Sharepoint 2013 Solutions with

Sofia Event Center

14-15 May 2014

Branimir GiurovC# MVPSolution ArchitectBulPros Consulting

Continuous Integration of Sharepoint 2013 Solutions with VS 2013 and Visual Studio Online

Page 2: Sofia Event Center 14-15 May 2014 Branimir Giurov C# MVP Solution Architect BulPros Consulting Continuous Integration of Sharepoint 2013 Solutions with

Agenda

• What is CI• CI Principles• CI Advantages/Disadvantages• CI Process• CI in .NET – tools• CI with Sharepoint 2013 – HowTo• Build process (customized)• Configuration and deployment• Integration testing

Page 3: Sofia Event Center 14-15 May 2014 Branimir Giurov C# MVP Solution Architect BulPros Consulting Continuous Integration of Sharepoint 2013 Solutions with

What is Continuous Integration?• From Wikipedia:

“Continuous integration (CI) is the practice, in software engineering, of merging all developer working copies with a shared mainline several times a day.”

• Named and proposed as part of extreme programming (XP)

• Prevents Integration problems• BDC few times per day

Page 4: Sofia Event Center 14-15 May 2014 Branimir Giurov C# MVP Solution Architect BulPros Consulting Continuous Integration of Sharepoint 2013 Solutions with

CI Principles

• Maintain a code repository• Automate the build• Make the build self-testing• Everyone commits to the baseline every day• Every commit must be built• Keep the build fast• Test in a clone of production environment• Make it easy to get latest deliverables• Everyone can see the result of the latest

build• Automate deployment

Page 5: Sofia Event Center 14-15 May 2014 Branimir Giurov C# MVP Solution Architect BulPros Consulting Continuous Integration of Sharepoint 2013 Solutions with

CI Advantages/Disadvantages

Advantages• When test fails, you know what’s broken

• Continuous fixing of integration bugs

• Early warning of broken/incompatible code

• Immediate unit testing of all changes

• Constant availability of build for testing

• Immediate feedback to developers on quality of the build

• Frequent check-ins pushes developers to create more modular and less complex code

• Metrics from automated testing provide immediate feedback about multiple performance areas

Disadvantages• Initial setup might take longer

Page 6: Sofia Event Center 14-15 May 2014 Branimir Giurov C# MVP Solution Architect BulPros Consulting Continuous Integration of Sharepoint 2013 Solutions with

CI Process

• Every check-in should be integration-tested• Check-in policy• Run build• Execute unit tests(optional)

• For larger source trees• Rolling build

• Gated check-ins• Shelve-build-test-check-in – verify

merge before check-in

Page 7: Sofia Event Center 14-15 May 2014 Branimir Giurov C# MVP Solution Architect BulPros Consulting Continuous Integration of Sharepoint 2013 Solutions with

CI in .NET - tools

• In the past – pre-Visual Studio 2010:• NAnt• Visual Source Safe, Vault, SVN, TFS• Cruise Control .NET/TFS• PSExec from SysInternals

• Now• MSBuild• TFS• TFS Source control/Git• TFS Build

Page 8: Sofia Event Center 14-15 May 2014 Branimir Giurov C# MVP Solution Architect BulPros Consulting Continuous Integration of Sharepoint 2013 Solutions with

CI in Sharepoint 2013 - Requirements

Page 9: Sofia Event Center 14-15 May 2014 Branimir Giurov C# MVP Solution Architect BulPros Consulting Continuous Integration of Sharepoint 2013 Solutions with

CI in Sharepoint 2013 - Requirements• My Requirements• Implement CI• Use existing CI

• Streamline deployment and configuration• Test/UAT• PowerShell scripts for configuration of

environment and environment settings• Make use of my laptop (for on premise

deployments)• Local development, remote deployment• Gated check-in will trigger deployment to

a VM in Azure

Page 10: Sofia Event Center 14-15 May 2014 Branimir Giurov C# MVP Solution Architect BulPros Consulting Continuous Integration of Sharepoint 2013 Solutions with

CI in Sharepoint 2013

• Demo• CI• Custom build template• Gated check-ins• Client Sharepoint development

Page 11: Sofia Event Center 14-15 May 2014 Branimir Giurov C# MVP Solution Architect BulPros Consulting Continuous Integration of Sharepoint 2013 Solutions with

Tools & Resources

• Azure remote PS Execution: http://blogs.msdn.com/b/mariok/archive/2011/08/08/command-line-access-to-azure-vms-powershell-remoting.aspx

• Psexec from SysInternals• http://sharepointci.codeplex.com/• http://officesharepointci.codeplex.com/• https://spsd.codeplex.com/ - Sharepoint Solution Deployer• https://cksdev.codeplex.com/ - CKS Deployment edition• http://msdn.microsoft.com/en-us/library/ff622991.aspx - output wsp from

msbuild

Page 12: Sofia Event Center 14-15 May 2014 Branimir Giurov C# MVP Solution Architect BulPros Consulting Continuous Integration of Sharepoint 2013 Solutions with

Agenda

• What is CI• CI Process• CI in .NET – tools• CI with Sharepoint 2013 – HowTo• Build process (customized)• Configuration and deployment• Integration testing

Page 13: Sofia Event Center 14-15 May 2014 Branimir Giurov C# MVP Solution Architect BulPros Consulting Continuous Integration of Sharepoint 2013 Solutions with

Questions???Share your feedback for this particular sessionand for the overall conference experience at

http://aka.ms/intouchfor a chance to win our prizes!