How to do DevOps with the
SharePoint Framework and why it
matters?
Vincent Biret
Azure and Office 365 developer @ 2toLead
Microsoft Office Dev MVP
@baywet
Bit.ly/vince365
Devs, Product Owners, Deciders, QA, Project Managers…
For whom this session is?
Agenda
•The new stack for SharePoint Framework
•Intro to Software lifecycle + devops
•Intro to Visual Studio Team Services Azure DevOps
•The build system + deploy
•Unit tests with SPFX
•Intro to tech debt management
•Conclusion
Ready?
The new
stack
A modern tooling for developers
Have you already seen these slides?
Question!
•Who has never heard about the
SharePoint Framework before this
talk?
The Short Version
• New Tools!
• Front End only!
• Local And Remote Workbench
• Closed source relying on open source
• First and third party
The webpart project
Demo
Software
lifecycle
Where it all begins
From the delivery team’s perspective, DevOps is about automating the process, releasing
frequently, and leveraging telemetry as well as feedback to improve solutions
DEVOPS BASICS
Idea/Need
Market
Visual Studio
Team Services
Azure DevOps
Let’s talk about tooling
Formerly Visual Studio Team Services
Azure DevOps
• TFS as a service/modular
• Updated more frequently
• Pay per user/build
• Everything except
• SharePoint Integration
• Process Template Customization**
• Data Warehouse
Branch
management
Code as a team, not a guy in a cave
Git is great with branches and cross platform, it has become an industry standard
Gitflow is a great process for DevOps teams and allows them to scale seemlessly
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…
Pull requests are a great way to help your team grow and to improve the quality of the
code
PEER REVIEWS AND QUALITY
« Here are a bunch of changes in the code, please review it and make it
part of the main code »
Also check if changes:
Build
Pass unit tests
Pass static analysis gate (code quality)
Have associated work items (context/documentation)
And allows:
For discussion
The team to grow together
Build
Let’s increase the quality of releases
Automated builds
•Predictable result
•Constant quality
•Time saving
Used to be called build 2015, do not use XAML builds
Pipelines (build)
•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 pipelines
Demo
Deploy
Automate all the things!
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
Pipelines (release)
•Same technology as the build
•Notion of environments
•Approvals
Release Management
Demo
Tests
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 Stubing/Mocking
Karma Chai + as
promised
PhantomJS Junit Mocha Sinon
MSTest MS.Test ns Node (backend) Coverage Casper
Istanbul Chrome Cobertura Jasmine
… … …
Unit tests of demo webpart
Demo
I wish Microsoft added Istanbul and Jest as supported choices
My thoughts on Microsoft’s choices
• Microsoft should not impose the test stack
• It should be a choice
• Like you choose between React/Knockout/Nothing
• The Karma+webpack/Chai/phantomJS/Mocha stack has flows
• Slow
• Losing community support
• Hard to remap for coverage/integration
Technical debt
management
Or how to avoid digging your own grave
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, linting for demo webpart
Demo
Conclusion
Conclusion
•Lot of time saved
•Consistent builds
•Automated tests
•Quality increased
•Money saved
Bit.ly/vince365 @baywet slideshare.net/VincentBIRET
Thanks! Questions? http://bit.ly/az-sq
http://bit.ly/spfx-devops

More Related Content

PPTX
SPS vancouver is it possible to do devops with SharePoint Framework
PPTX
SPS calgary 2017 introduction to azure functions microsoft flow
PPTX
Techorama migrate to sharepoint framework
PDF
Sencha Roadshow 2017: Best Practices for Implementing Continuous Web App Testing
PDF
Sencha Roadshow 2017: Sencha Upgrades - The Good. The Bad. The Ugly - Eva Luc...
PDF
Sencha Roadshow 2017: What's New in Sencha Test
PPTX
Alm with tfs 2013
PPTX
Dev/Test scenarios in DevOps world
SPS vancouver is it possible to do devops with SharePoint Framework
SPS calgary 2017 introduction to azure functions microsoft flow
Techorama migrate to sharepoint framework
Sencha Roadshow 2017: Best Practices for Implementing Continuous Web App Testing
Sencha Roadshow 2017: Sencha Upgrades - The Good. The Bad. The Ugly - Eva Luc...
Sencha Roadshow 2017: What's New in Sencha Test
Alm with tfs 2013
Dev/Test scenarios in DevOps world

What's hot (20)

PDF
Learn Key Insights from The State of Web Application Testing Research Report
PPTX
Using REST with VSTS and TFS
PDF
deliver:agile - Enable your Agile Team with Continuous Delivery Pipelines
PPTX
Building Extensions in VSTS and TFS
PPTX
Taking your version control to a next level with TFS and Git
PPTX
Beginners overview of automated testing with Rspec
PDF
Using BladeRunnerJS to Build Front-End Apps that Scale - Fluent 2014
PPTX
Setting Up CircleCI Workflows for Your Salesforce Apps
PDF
Automated Testing in DevOps
PDF
JIRA Performance Testing in Pictures - Edward Bukoski Michael March
PPTX
Visual Studio LightSwitch (Beta 1) Overview
PPTX
Level Up Your Salesforce Unit Testing
PDF
Agile Testing
PPTX
Lessons Learned Monitoring Production
PDF
Workshop automating with microsoft flow
PDF
Introduction to Enterprise-Release Engineering on the Salesforce Platform
PPTX
What's new in Visual Studio 2013 & TFS 2013
PDF
Building front-end apps that Scale - FOSDEM 2014
PDF
Agile methodologies
PPT
Team Foundation Server Version Control
Learn Key Insights from The State of Web Application Testing Research Report
Using REST with VSTS and TFS
deliver:agile - Enable your Agile Team with Continuous Delivery Pipelines
Building Extensions in VSTS and TFS
Taking your version control to a next level with TFS and Git
Beginners overview of automated testing with Rspec
Using BladeRunnerJS to Build Front-End Apps that Scale - Fluent 2014
Setting Up CircleCI Workflows for Your Salesforce Apps
Automated Testing in DevOps
JIRA Performance Testing in Pictures - Edward Bukoski Michael March
Visual Studio LightSwitch (Beta 1) Overview
Level Up Your Salesforce Unit Testing
Agile Testing
Lessons Learned Monitoring Production
Workshop automating with microsoft flow
Introduction to Enterprise-Release Engineering on the Salesforce Platform
What's new in Visual Studio 2013 & TFS 2013
Building front-end apps that Scale - FOSDEM 2014
Agile methodologies
Team Foundation Server Version Control
Ad

Similar to #ESPC18 How to do #devops with the #SharePoint Framework and why it matters? (20)

PPTX
#spsclt18 vincent biret #spfx #devops
PPTX
#SPSToronto How to do #DevOps with #SPFx and why it matters
PPTX
#SPSBurgh 2018 How to do #devops with the #SharePoint Framework #spfx
PPTX
#ESPC19 How to do #DevOps with #SPFx
PPTX
#SPFestDc dev302 Is it possible to do #DevOps with the SharePoint Framework?
PPTX
Spsnyc vincent biret spfx devops
PPTX
Sps monaco vincent biret spfx devops
PPTX
Microsoft Tech Series 2019 - Azure DevOps
PPTX
#SPSNewEngland Improving #DevOps using #Microsoft business productivity tools...
PDF
Simplified DevOps Bliss -with OpenAI API
PPTX
Agile & DevOps - It's all about project success
PPTX
T5 - Mise en place de votre processus DevOps Ofice, Office 365, SharePoint - ...
PPTX
Azure_DevOps_Customer1212121_201903.pptx
PDF
REST API Security by Design with Azure Pipelines
PDF
Developer Velocity
PPTX
Chris OBrien - Azure DevOps for managing work
PPTX
Tour of Azure DevOps
PPTX
Drive business outcomes using Azure Devops
PPTX
DevOps for Speed and Agility - DevOpsTO May 2014
PPTX
Fail fast, recovery quickly using Azure DevOps Services
#spsclt18 vincent biret #spfx #devops
#SPSToronto How to do #DevOps with #SPFx and why it matters
#SPSBurgh 2018 How to do #devops with the #SharePoint Framework #spfx
#ESPC19 How to do #DevOps with #SPFx
#SPFestDc dev302 Is it possible to do #DevOps with the SharePoint Framework?
Spsnyc vincent biret spfx devops
Sps monaco vincent biret spfx devops
Microsoft Tech Series 2019 - Azure DevOps
#SPSNewEngland Improving #DevOps using #Microsoft business productivity tools...
Simplified DevOps Bliss -with OpenAI API
Agile & DevOps - It's all about project success
T5 - Mise en place de votre processus DevOps Ofice, Office 365, SharePoint - ...
Azure_DevOps_Customer1212121_201903.pptx
REST API Security by Design with Azure Pipelines
Developer Velocity
Chris OBrien - Azure DevOps for managing work
Tour of Azure DevOps
Drive business outcomes using Azure Devops
DevOps for Speed and Agility - DevOpsTO May 2014
Fail fast, recovery quickly using Azure DevOps Services
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)

PDF
EIS-Webinar-Regulated-Industries-2025-08.pdf
PDF
Planning-an-Audit-A-How-To-Guide-Checklist-WP.pdf
PDF
A symptom-driven medical diagnosis support model based on machine learning te...
PDF
Connector Corner: Transform Unstructured Documents with Agentic Automation
PDF
4 layer Arch & Reference Arch of IoT.pdf
PDF
giants, standing on the shoulders of - by Daniel Stenberg
PDF
Build Real-Time ML Apps with Python, Feast & NoSQL
PDF
SaaS reusability assessment using machine learning techniques
PDF
The-2025-Engineering-Revolution-AI-Quality-and-DevOps-Convergence.pdf
PDF
Data Virtualization in Action: Scaling APIs and Apps with FME
PDF
Examining Bias in AI Generated News Content.pdf
PDF
IT-ITes Industry bjjbnkmkhkhknbmhkhmjhjkhj
PDF
Early detection and classification of bone marrow changes in lumbar vertebrae...
PDF
The AI Revolution in Customer Service - 2025
PPTX
Module 1 Introduction to Web Programming .pptx
PPTX
Build automations faster and more reliably with UiPath ScreenPlay
PDF
MENA-ECEONOMIC-CONTEXT-VC MENA-ECEONOMIC
PDF
Rapid Prototyping: A lecture on prototyping techniques for interface design
PDF
Ensemble model-based arrhythmia classification with local interpretable model...
PDF
CEH Module 2 Footprinting CEH V13, concepts
EIS-Webinar-Regulated-Industries-2025-08.pdf
Planning-an-Audit-A-How-To-Guide-Checklist-WP.pdf
A symptom-driven medical diagnosis support model based on machine learning te...
Connector Corner: Transform Unstructured Documents with Agentic Automation
4 layer Arch & Reference Arch of IoT.pdf
giants, standing on the shoulders of - by Daniel Stenberg
Build Real-Time ML Apps with Python, Feast & NoSQL
SaaS reusability assessment using machine learning techniques
The-2025-Engineering-Revolution-AI-Quality-and-DevOps-Convergence.pdf
Data Virtualization in Action: Scaling APIs and Apps with FME
Examining Bias in AI Generated News Content.pdf
IT-ITes Industry bjjbnkmkhkhknbmhkhmjhjkhj
Early detection and classification of bone marrow changes in lumbar vertebrae...
The AI Revolution in Customer Service - 2025
Module 1 Introduction to Web Programming .pptx
Build automations faster and more reliably with UiPath ScreenPlay
MENA-ECEONOMIC-CONTEXT-VC MENA-ECEONOMIC
Rapid Prototyping: A lecture on prototyping techniques for interface design
Ensemble model-based arrhythmia classification with local interpretable model...
CEH Module 2 Footprinting CEH V13, concepts

#ESPC18 How to do #devops with the #SharePoint Framework and why it matters?

Editor's Notes

  • #2: To add your image, please insert your picture and scale it to be bigger than the size of the white box shown.
  • #3: Devs, devops, qa people, deciders Why should you care? ALM = time saved, happy devs, money saved and better products/services
  • #5: Gestion des questions, interaction, ok avec ce programme?
  • #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 http://blog-eng.dbtek.it/2014/03/visual-studio-online-vso-vs-team.html https://azure.microsoft.com/en-us/pricing/details/devops/azure-devops-services/
  • #25: New, hasn’t yet the build quality information and integration with RM + tests manager. https://github.com/Microsoft/vsts-agent-tasks Don’t use XAML builds! It’s old and difficult
  • #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
  • #33: Authentication and authorization is a whole session by itself and is advanced. For the interest of time, we’ll skip it today
  • #35: Goal of this section is not to cover everything, but more what we can achieve in the SharePoint world
  • #36: 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 Stubing/Mocking-Faking/Spying: allows you to isolate the tested code and/or observe behavior
  • #41: If the static analysis could be automated, wouldn’t be it great?
  • #44: Money save = dev time saved, less support to provide, better product/service
  • #45: This is the Pre-Title Screen. Please do not place any content on this screen.