sofia event center 14-15 may 2014 branimir giurov c# mvp solution architect bulpros consulting...
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](https://reader036.vdocuments.site/reader036/viewer/2022082402/5697bfb61a28abf838c9e25f/html5/thumbnails/1.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022082402/5697bfb61a28abf838c9e25f/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022082402/5697bfb61a28abf838c9e25f/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022082402/5697bfb61a28abf838c9e25f/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022082402/5697bfb61a28abf838c9e25f/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022082402/5697bfb61a28abf838c9e25f/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022082402/5697bfb61a28abf838c9e25f/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022082402/5697bfb61a28abf838c9e25f/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022082402/5697bfb61a28abf838c9e25f/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022082402/5697bfb61a28abf838c9e25f/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022082402/5697bfb61a28abf838c9e25f/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022082402/5697bfb61a28abf838c9e25f/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022082402/5697bfb61a28abf838c9e25f/html5/thumbnails/13.jpg)
Questions???Share your feedback for this particular sessionand for the overall conference experience at
http://aka.ms/intouchfor a chance to win our prizes!