Upload
tim-mccarthy
View
202
Download
3
Embed Size (px)
Citation preview
Sitecore DevOps Goodness on Azure:Visual Studio Team ServicesPresented by:Tim McCarthyGeorge Chang
© 2001-2016 Sitecore Corporation A/S. All rights reserved. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand and product names are the property of their respective owners.
2
#Sitecore SYM
Tim McCarthySenior Solutions Architect@tmccart_1
Introductions
George ChangSolutions Architect@sitecoregeorge
© 2001-2016 Sitecore Corporation A/S. All rights reserved. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand and product names are the property of their respective owners.
3
#Sitecore SYM
• What is DevOps?• Infrastructure as Code on Microsoft Azure• Using Visual Studio Team Services (VSTS) to enable
Continuous Integration/Continuous Delivery
Agenda
What is DevOps?
“DevOps is the union of people, process, and products to enable continuous delivery of value to our end users.”― Donovan Brown, "DevOps on the Microsoft Stack"
© 2001-2016 Sitecore Corporation A/S. All rights reserved. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand and product names are the property of their respective owners.
5
#Sitecore SYM
• Azure is a developer’s best friend!• Building the Azure environments with
Azure ARM Templates and PowerShell• DSC – make sure IIS is there!• Custom Extension – configure Sitecore!
• Provisioning the Sitecore databases into SQL Azure
Infrastructure as Code
Developers
Demo
Building out a Sitecore environment on Microsoft Azure via Code
Continuous Delivery“There should be two tasks for a human being to perform to deploy software into a development, test, or production environment: to pick the version and environment and to press the “deploy” button.”― David Farley, Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation
© 2001-2016 Sitecore Corporation A/S. All rights reserved. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand and product names are the property of their respective owners.
8
#Sitecore SYM
• Source Control• Git• The other one (TFVC)
• Development Lifecycle Management• Associate tasks with branches/check-ins• Create pull requests/use gated check-ins for review• Consider your build process
Process, process, process!
© 2001-2016 Sitecore Corporation A/S. All rights reserved. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand and product names are the property of their respective owners.
9
#Sitecore SYM
• Package managers• NuGet – assembly references
(like Sitecore!)• npm – “client-side” references
• Task runners• gulp• grunt
• Solution management• Visual Studio Team Services• Jira• GitHub
Tools, tools, tools!
• Build• Visual Studio Team Services• Jenkins• TeamCity
• Test• Visual Studio Team Services• JUnit
• Deploy• Visual Studio Team Services• Octopus• Chef
© 2001-2016 Sitecore Corporation A/S. All rights reserved. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand and product names are the property of their respective owners.
10
#Sitecore SYM
• Build• Fetch code from repository• Compile code• Execute tasks• Automated testing
• Release• Retrieve build artifacts• Perform environment-specific transforms• Deploy build artifacts to specific environment
Build and Release
© 2001-2016 Sitecore Corporation A/S. All rights reserved. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand and product names are the property of their respective owners.
11
#Sitecore SYM
Build and ReleaseBuild
Release
Compile Code Execute Tasks
Config Transforms
Build Artifacts
Automated Testing
Dev Environment Staging Environment Prod Environment
Code Repository
Config Transforms Config Transforms
© 2001-2016 Sitecore Corporation A/S. All rights reserved. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand and product names are the property of their respective owners.
12
#Sitecore SYM
• Environments• Development• Staging• Production
• Build definition• #onebuildtorulethemall• Transformations for environment-specific settings
• Continuous delivery• Deploy the same build to each environment
Continuous Delivery with VSTS
© 2001-2016 Sitecore Corporation A/S. All rights reserved. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand and product names are the property of their respective owners.
13
#Sitecore SYM
• Create build definition• Create release definitions• Manage item serialization• Team Development for Sitecore• Unicorn
• Sitecore PowerShell Extensions• Pre/Post-deployment scripting
Continuous Delivery with VSTS
Demo
Automated Build and Deployment in VSTS
Next steps/Resources
15
What to do• Start using VSTS for your build and release platform• Learn about and use Azure ARM Templates• Get our code from GitHub!• Start provisioning your Sitecore environments to Azure
Resources available• Azure Quickstart Templates• Visual Studio Team Services• Donovan Brown• Patrick Perrone
Questions?
16
Contact Us• Tim McCarthy Email: [email protected] Twitter: @tmccart_1• George Chang Email: [email protected] Twitter: @sitecoregeorgeFor a deeper dive, come visit us in the Perficient booth!
FOR DISCUSSION PURPOSES ONLY. Sitecore Confidential and Proprietary. © 2016 Sitecore Corporation A/S. All
rights reserved. Sitecore® and Own the Experience® are registered
trademarks of Sitecore Corporation A/S. All other brand and product names are the property of their
respective owners.