Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
#SPFestDc dev302 Is it possible to do #DevOps with the SharePoint Framework?
1. Is it possible to do DevOps with
The SharePoint Framework?
SharePoint Fest DC 2018
By: Vincent Biret
2. Passioned by technologies, development and community
Vincent Biret
@baywet
bit.ly/vince365
MVP Office Servers and Services
Azure and Office 365 developer @ 2toLead
4. 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
14. Software lifecycle : devops
Plan
Dev
Test
Production
Idea/Need Business Plan
Marketing Sales
Market
Feedback
Agile/CMMI/…
Architecture
Source Control
IDE
Build
xTests
16. You’ve probably heard about it
Azure
•Microsoft’s Cloud platform
•IaaS, PaaS, SaaS
•Literaly tons of services
17. Visual Studio Team Services
• TFS as a service
• Updated more frequently
• Pay per user/build
• Everything except
• SharePoint Integration
• Process Template Customization**
• Data Warehouse
18. Code as a team, not a guy in a cave
Branch management
19. 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…
26. 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
27. VSTS – Release Management
•Same technology as the build 2015
•Notion of environments
•Approvals
28. 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!
Devs, devops, qa people, deciders
Why should you care? ALM = time saved, happy devs, money saved and better products/services
Gestion des questions, interaction, ok avec ce programme?
Might be a little bit different when doing consulting but same idea
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
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
Build as a Service (billed by minutes building), Hosted agents have foundation edition of sharepoint installed. Installed agents only need internet access.
powershell + Tasks = quick win
Tip: use –verbose everywhere!
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
Goal of this section is not to cover everything, but more what we can achieve in the SharePoint world
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
If the static analysis could be automated, wouldn’t be it great?
Money save = dev time saved, less support to provide, better product/service