Slides of the session is it possible to do devops with the SharePoint framework? during SPSVancouver. Learn how to automate most of your development from code to production with Visual Studio Team Services and some other tools
5. 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
15. Software lifecycle : devops
Plan
Dev
Test
Production
Idea/Need Business Plan
Marketing Sales
Market
Feedback
Agile/CMMI/…
Architecture
Source Control
IDE
Build
xTests
17. You’ve probably heard about it
Azure
•Microsoft’s Cloud platform
•IaaS, PaaS, SaaS
•Literaly tons of services
18. Visual Studio Team Services
• TFS as a service
• Updated more frequently
• Pay per user/build
• Everything except
• SharePoint Integration
• Process Template Customization**
• Data Warehouse
19. Code as a team, not a guy in a cave
Branch management
20. 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…
27. 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
28. VSTS – Release Management
•Same technology as the build 2015
•Notion of environments
•Approvals
29. 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!
34. 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
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
RM currently in preview (since 5 days ago)
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. Only on vsonline right now
https://github.com/Microsoft/vsts-agent-tasks
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
If the static analysis could be automated, wouldn’t be it great?
Money save = dev time saved, less support to provide, better product/service