SlideShare a Scribd company logo
Is it possible to do devops with the
SharePoint framework ?
Or the path to development awesomeness
By: Vincent Biret
SPSVancouver Sponsors
@baywet
bit.ly/vincentbiret
Vincent Biret
MVP Office Servers and Services
Azure and Office 365 developer @ 2ToLead
Who’s this session for?
Agenda
•The new stack for SharePoint Framework
•Intro to Software lifecycle + devops
•Intro to VSTS/Azure
•The build system + deploy
•Unit tests with SPFX
•Intro to tech debt management
•Conclusion
Ready?
Modern toolchain for SharePoint/Office 365 developers at last
The new stack
IIS Express
Project Templates
Server side tool comparison
SPS vancouver is it possible to do devops with SharePoint Framework
SPS vancouver is it possible to do devops with SharePoint Framework
SPS vancouver is it possible to do devops with SharePoint Framework
Bill is awesome!
The webpart project
Demo
Where it all begins
Software lifecycle
Software lifecycle : devops
Plan
Dev
Test
Production
Idea/Need Business Plan
Marketing Sales
Market
Feedback
Agile/CMMI/…
Architecture
Source Control
IDE
Build
xTests
Let’s talk about tooling
Visual Studio Team Services and Azure
You’ve probably heard about it
Azure
•Microsoft’s Cloud platform
•IaaS, PaaS, SaaS
•Literaly tons of services
Visual Studio Team Services
• TFS as a service
• Updated more frequently
• Pay per user/build
• Everything except
• SharePoint Integration
• Process Template Customization**
• Data Warehouse
Code as a team, not a guy in a cave
Branch management
Git + git flow
• Git is a decentralized source control technology
• Branches are cheap
• Merging is not a nightmare
• Cross platform
• Lot of tools
• Git flow is a process model for branch management
• Focused work
• Easy context switching
• Standard and no thinking required
• Semver…
Let’s increase the quality of releases
Build
Automated builds
•Predictable result
•Constant quality
•Time saving
Build 2015
•JSON definition
•Web edition
•Lot of third parties integrations
•Tasks on github! (see notes)
•Agent auto updates!
Agents
•Hosted Agents
•BaaS
•Installed Agents
•Azure, or anywhere else
Build section, build agents 2015
Demo
Automate all the things!
Deploy
Pick and choose!
Different schools
• Source promotion
• We promote to next level a certain state of source
• Rebuild if needed
• Build promotion
• Exact same binaries are promoted
VSTS – Release Management
•Same technology as the build 2015
•Notion of environments
•Approvals
Office 365 CDN
1. Configure Office 365 CDN to replicate site assets
2. Configure Urls in configuration files
3. Bundle files
4. Bundle app package
5. Upload js/json to sharepoint (custom task)
6. SharePoint replicates to CDN
7. Win!
MH and small project deployment with RM
Demo
Final touch to QA
Test
Tests levels
•Unit testing
•Load testing
•Integration testing
•System testing
•Functional/Acceptance testing
Tests types
•Installation
•Compatibility
•Regression
•Destructive
•Security
•L17N/I13N
•A/B
•…..
Test tooling
Runners Assertion libraries Emulators/Env Reporters Frameworks
Karma Chai + as promised PhantomJS Junit Mocha
MSTest MS.Test ns Node (backend) Coverage Casper
Istanbul Chrome Cobertura Jasmine
… … …
Runners: take care of running the tests and provide the infrastructure for (memory, processes…)
Asseration libraries: « ways » to write your unit tests
Emulators (or environments): context within the tests will run (server with node, browser, emulated browser…)
Reporters: take care of writing down tests results in comprenhensive format
Frameworks: provide a suite of functionnalities to help implement testing
Unit tests of demo webpart
Demo
Or how to avoid digging your own grave
Technical debt management
What is tech debt?
•Code we’re not comfortable with
•Preventing us from innovating
•Causing a lot of support
•Stressful for the team
Solutions?
•Rewrite everything every 2 years
•Pair coding
•Static analysis + linting
SonarQube for MH, linting for demo webpart
Demo
I swear, I’m going to stop talking soon and let you free
Conclusion
Conclusion
•Lot of time saved
•Consistent builds
•Automated tests
•Quality increased
•Money saved
Bit.ly/vincentbiret @baywet slideshare.net/VincentBIRET Please fill evals!!
Thanks!/Questions?

More Related Content

PPTX
SPS calgary 2017 introduction to azure functions microsoft flow
PPTX
Techorama migrate to sharepoint framework
PPTX
#SPFestDc dev302 Is it possible to do #DevOps with the SharePoint Framework?
PPTX
Sps monaco vincent biret spfx devops
PPTX
#ESPC18 How to do #devops with the #SharePoint Framework and why it matters?
PDF
Deployment Automation in de praktijk
PPTX
Using REST with VSTS and TFS
PPTX
Building Extensions in VSTS and TFS
SPS calgary 2017 introduction to azure functions microsoft flow
Techorama migrate to sharepoint framework
#SPFestDc dev302 Is it possible to do #DevOps with the SharePoint Framework?
Sps monaco vincent biret spfx devops
#ESPC18 How to do #devops with the #SharePoint Framework and why it matters?
Deployment Automation in de praktijk
Using REST with VSTS and TFS
Building Extensions in VSTS and TFS

What's hot (20)

PPTX
#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow
PPTX
My slides from SharePoint Saturday Oslo
PPTX
My session slides from unityConnect 2016 in Haarlem
PPTX
European SharePoint Conference - TH3
PPTX
Session Slides from DEVintersection Europe
PPTX
B6 - Using Office 365 groups in Power Bi - Marco Russo
PDF
Workshop automating with microsoft flow
PPTX
Session Slides from DEVintersection Europe
PPTX
SharePoint best practices
PPTX
Serverless with Azure Functions
PDF
Rethink of PaaS
PPTX
SPSNL17 - Be more effective with the PnP Provisioning Engine - Erwin van Hunen
PDF
Using Chat Automation - ChatOps
PDF
Using Microsoft Flow for IT Professionals
PDF
Microsoft Flow and PowerShell combined to automate everything
PPTX
Managing the Infrastructure Stack with PowerShell
PPTX
WinOps Conf 2016 - Michael Greene - Release Pipelines
PDF
Continuous Delivery en Tools
PDF
O365Con19 - Things I've Learned While Building a Product on SharePoint Modern...
PPTX
How to automate the SharePoint Provisioning
#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow
My slides from SharePoint Saturday Oslo
My session slides from unityConnect 2016 in Haarlem
European SharePoint Conference - TH3
Session Slides from DEVintersection Europe
B6 - Using Office 365 groups in Power Bi - Marco Russo
Workshop automating with microsoft flow
Session Slides from DEVintersection Europe
SharePoint best practices
Serverless with Azure Functions
Rethink of PaaS
SPSNL17 - Be more effective with the PnP Provisioning Engine - Erwin van Hunen
Using Chat Automation - ChatOps
Using Microsoft Flow for IT Professionals
Microsoft Flow and PowerShell combined to automate everything
Managing the Infrastructure Stack with PowerShell
WinOps Conf 2016 - Michael Greene - Release Pipelines
Continuous Delivery en Tools
O365Con19 - Things I've Learned While Building a Product on SharePoint Modern...
How to automate the SharePoint Provisioning
Ad

Similar to SPS vancouver is it possible to do devops with SharePoint Framework (20)

PPTX
#SPSBurgh 2018 How to do #devops with the #SharePoint Framework #spfx
PPTX
Spsnyc vincent biret spfx devops
PPTX
T5 - Mise en place de votre processus DevOps Ofice, Office 365, SharePoint - ...
PPTX
#spsclt18 vincent biret #spfx #devops
PPTX
#SPSToronto How to do #DevOps with #SPFx and why it matters
PPTX
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
PPTX
#ESPC19 How to do #DevOps with #SPFx
PPTX
SharePoint Saturday Houston Setting up your release pipeline with Azure
PPTX
Accelerate Sitecore DevOps on Microsoft Azure
PPTX
New SharePoint Features in Visual Studio 2012!
PPTX
Visual Studio 2015 - Lançamento está próximo
PPTX
SharePoint Fest Chicago 2019 - From SharePoint to Office 365 Development
PPTX
SharePoint Fest Seattle 2018 - From SharePoint to Office 365 Development
PPTX
SharePoint Fest Seattle 2019 - From SharePoint to Office 365 Development
PPTX
SharePoint Fest DC 2019 - From SharePoint to Office 365 Development
PPTX
SharePoint Fest Chicago 2018 - From SharePoint to Office 365 development
PPTX
aOS Canadian Tour - Quebec - From SharePoint to Office 365 Development
PPTX
aOS Canadian Tour - Toronto - From SharePoint to Office 365 Development
PPTX
aOS Canadian Tour - Ottawa - From SharePoint to Office 365 Development
PPTX
aOS Canadian Tour - Montreal - From SharePoint to Office 365 Development
#SPSBurgh 2018 How to do #devops with the #SharePoint Framework #spfx
Spsnyc vincent biret spfx devops
T5 - Mise en place de votre processus DevOps Ofice, Office 365, SharePoint - ...
#spsclt18 vincent biret #spfx #devops
#SPSToronto How to do #DevOps with #SPFx and why it matters
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
#ESPC19 How to do #DevOps with #SPFx
SharePoint Saturday Houston Setting up your release pipeline with Azure
Accelerate Sitecore DevOps on Microsoft Azure
New SharePoint Features in Visual Studio 2012!
Visual Studio 2015 - Lançamento está próximo
SharePoint Fest Chicago 2019 - From SharePoint to Office 365 Development
SharePoint Fest Seattle 2018 - From SharePoint to Office 365 Development
SharePoint Fest Seattle 2019 - From SharePoint to Office 365 Development
SharePoint Fest DC 2019 - From SharePoint to Office 365 Development
SharePoint Fest Chicago 2018 - From SharePoint to Office 365 development
aOS Canadian Tour - Quebec - From SharePoint to Office 365 Development
aOS Canadian Tour - Toronto - From SharePoint to Office 365 Development
aOS Canadian Tour - Ottawa - From SharePoint to Office 365 Development
aOS Canadian Tour - Montreal - From SharePoint to Office 365 Development
Ad

More from Vincent Biret (20)

PPTX
#MSGraph introduction at #M365SaturdayOttawa
PPTX
#MWCP19 atelier provisionnement #Office365 slides teams
PPTX
#MWCP19 atelier provisionnement #Office365 slides introduction
PPTX
December #PnP #SPFx call #CLI exteranlize demo
PPTX
#SPSToronto Digital Workplace provisioning with #MicrosoftGraph and #Azure fu...
PPTX
MS365 dev bootcamp - day introduction slides
PPTX
MS365 Dev Bootcamp Montreal 2019 - Microsoft graph introduction
PPTX
#SPSOttawa introduction to the #microsoftGraph
PPTX
#MicrosoftGraph Community call - automating your digital workplace provisioni...
PPTX
#SPFestSEA Automate digital workplace provisioning with #MicrosoftGraph and #...
PPTX
#SPFestSea Introduction to #Azure #Functions v2
PPTX
#SPFestSEA Introduction to #MicrosoftGraph
PPTX
#SPSNYC 2019 Automating your digital workplace provisioning with #MicrosoftGr...
PPTX
Groupe usagers SharePoint Quebec Juin 2019 - Nouveautés de dev et évènements
PPTX
#MSBuild using #IoT to improve peoples's health and brain power
PPTX
#SPFestDC Automate your digital workplace provisioning with #Microsoft Graph ...
PPTX
#SPFestDC #Azure #Functions V2: What's new and getting started
PPTX
#SPFestDC Migrate your custom solutions to the modern stack
PPTX
#SPSHouston Automating your digital workplace proivisioning with #Azure Durab...
PPTX
Microsoft #ignite tour #toronto 2019 How to do #DevOps with the #SPFx and why...
#MSGraph introduction at #M365SaturdayOttawa
#MWCP19 atelier provisionnement #Office365 slides teams
#MWCP19 atelier provisionnement #Office365 slides introduction
December #PnP #SPFx call #CLI exteranlize demo
#SPSToronto Digital Workplace provisioning with #MicrosoftGraph and #Azure fu...
MS365 dev bootcamp - day introduction slides
MS365 Dev Bootcamp Montreal 2019 - Microsoft graph introduction
#SPSOttawa introduction to the #microsoftGraph
#MicrosoftGraph Community call - automating your digital workplace provisioni...
#SPFestSEA Automate digital workplace provisioning with #MicrosoftGraph and #...
#SPFestSea Introduction to #Azure #Functions v2
#SPFestSEA Introduction to #MicrosoftGraph
#SPSNYC 2019 Automating your digital workplace provisioning with #MicrosoftGr...
Groupe usagers SharePoint Quebec Juin 2019 - Nouveautés de dev et évènements
#MSBuild using #IoT to improve peoples's health and brain power
#SPFestDC Automate your digital workplace provisioning with #Microsoft Graph ...
#SPFestDC #Azure #Functions V2: What's new and getting started
#SPFestDC Migrate your custom solutions to the modern stack
#SPSHouston Automating your digital workplace proivisioning with #Azure Durab...
Microsoft #ignite tour #toronto 2019 How to do #DevOps with the #SPFx and why...

Recently uploaded (20)

PPTX
Big Data Technologies - Introduction.pptx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Electronic commerce courselecture one. Pdf
PPT
Teaching material agriculture food technology
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
1. Introduction to Computer Programming.pptx
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
cuic standard and advanced reporting.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Big Data Technologies - Introduction.pptx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Electronic commerce courselecture one. Pdf
Teaching material agriculture food technology
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Spectral efficient network and resource selection model in 5G networks
Diabetes mellitus diagnosis method based random forest with bat algorithm
The Rise and Fall of 3GPP – Time for a Sabbatical?
1. Introduction to Computer Programming.pptx
“AI and Expert System Decision Support & Business Intelligence Systems”
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Accuracy of neural networks in brain wave diagnosis of schizophrenia
Dropbox Q2 2025 Financial Results & Investor Presentation
Group 1 Presentation -Planning and Decision Making .pptx
Programs and apps: productivity, graphics, security and other tools
cuic standard and advanced reporting.pdf
Digital-Transformation-Roadmap-for-Companies.pptx
Advanced methodologies resolving dimensionality complications for autism neur...
SOPHOS-XG Firewall Administrator PPT.pptx
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx

SPS vancouver is it possible to do devops with SharePoint Framework

Editor's Notes

  • #5: Devs, devops, qa people, deciders Why should you care? ALM = time saved, happy devs, money saved and better products/services
  • #7: Gestion des questions, interaction, ok avec ce programme?
  • #16: Might be a little bit different when doing consulting but same idea
  • #19: https://www.visualstudio.com/get-started/overview-of-get-started-tasks-vs Unlimited storage, team projects, everything, 5 free users, free for users with msdn subscriptions, free for stakeholders Data Warehouse can be replaced by powerbi or dashboard being delivered RM currently in preview (since 5 days ago) http://blog-eng.dbtek.it/2014/03/visual-studio-online-vso-vs-team.html
  • #25: New, hasn’t yet the build quality information and integration with RM + tests manager. Only on vsonline right now https://github.com/Microsoft/vsts-agent-tasks
  • #26: Build as a Service (billed by minutes building), Hosted agents have foundation edition of sharepoint installed. Installed agents only need internet access.
  • #30: powershell + Tasks = quick win Tip: use –verbose everywhere!
  • #31: Use Office 365 + CDN to quickly RM to an environment https://www.eliostruyf.com/automate-publishing-of-your-sharepoint-framework-scripts-to-office-365-public-cdn/ https://dev.office.com/blogs/office-365-public-cdn-developer-preview-release
  • #35: Goal of this section is not to cover everything, but more what we can achieve in the SharePoint world
  • #40: If the static analysis could be automated, wouldn’t be it great?
  • #43: Money save = dev time saved, less support to provide, better product/service