View
1.556
Download
4
Category
Tags:
Preview:
DESCRIPTION
Technical Class: Tuesday, March 5 4:00 PM - 5:15 PM
Citation preview
Automating your Enterprise Application Deployments with PowerShell
Geoff VaroskyMarch 5, 2013
ABOUT ME
geoff@varosky.com | @gvaro | www.sharepointyankee.com | www.jornata.com | @JornataLLC
Geoff Varosky Jornata
Managing Consultant, Senior Architect, Senior Developer, Director of Evangelism
President & Co-Founder Boston Area SharePoint Users Group Co-Organizer SharePoint Saturday Boston
Recent Awards Top 25 2012 Harmon.ie Online Community Influencer Top 50 2012 KnowledgeLake Community Influencer
Blog – www.SharePointYankee.com Email – geoff@varosky.com Twitter – @gvaro
ABOUT ME
geoff@varosky.com | @gvaro | www.sharepointyankee.com | www.jornata.com | @JornataLLC
AGENDA
geoff@varosky.com | @gvaro | www.sharepointyankee.com | www.jornata.com | @JornataLLC
Why Automation? PowerShell Environment Deployment Application Deployment Further Refinement Resources & Tools Q&A
POLL
geoff@varosky.com | @gvaro | www.sharepointyankee.com | www.jornata.com | @JornataLLC
Who is using SharePoint? SharePoint Developers? SharePoint Administrators? Familiar with Scripting Languages? (bash, batch files, perl,
vbscript) Using PowerShell?
WHY AUTOMATION?
geoff@varosky.com | @gvaro | www.sharepointyankee.com | www.jornata.com | @JornataLLC
WHY AUTOMATION? Pros
“Almost” human-less deployments Re-Deployment Restoration Documented and actionable deployment Saves on knowledge transfer Reduces the risks of human error Repeatable process
geoff@varosky.com | @gvaro | www.sharepointyankee.com | www.jornata.com | @JornataLLC
WHY AUTOMATION? Cons
Possible significant up-front time Knowledge of PowerShell needed Not managed code Requires constant upkeep
geoff@varosky.com | @gvaro | www.sharepointyankee.com | www.jornata.com | @JornataLLC
POWERSHELL
geoff@varosky.com | @gvaro | www.sharepointyankee.com | www.jornata.com | @JornataLLC
POWERSHELL What is it?
More flexible, faster, extensible, and POWERful than STSADM
Scripting Language Based on C# Integrated with the .NET Framework
Load in DLLs Provides full access to COM amd WMI
Not limited to JUST PowerShell DOS commands (with UNIX-like aliases)
geoff@varosky.com | @gvaro | www.sharepointyankee.com | www.jornata.com | @JornataLLC
POWERSHELL Cmdlets
PowerShell Commands Can create your own Standardized using a verb-noun convention
Eat-Cake Drink-Beer Live-Life
geoff@varosky.com | @gvaro | www.sharepointyankee.com | www.jornata.com | @JornataLLC
POWERSHELL The Basics
Get-Command Get-Help Piping Select-Object
geoff@varosky.com | @gvaro | www.sharepointyankee.com | www.jornata.com | @JornataLLC
POWERSHELL Aliases
geoff@varosky.com | @gvaro | www.sharepointyankee.com | www.jornata.com | @JornataLLC
Cmdlet DOS Alias Description
Get-Location pwd gl Current directory
Set-Location cd, chdir sl Change current directory
Copy-Item copy cpi Copy file/directory
Remove-Item del ri Remove file/directory
Move-Item move mi Move a file/directory
New-Item - ni New a file/directory/object
Clear-Item - cli Clear contents of file
Get-Content type gc Read file contents to output
Set-Content - sc Set file contents
Format-Table - ft Formats output
POWERSHELL SharePoint Management Shell
Loaded with SharePoint 2010/2013 Automatically Loads Microsoft.SharePoint.PowerShell
Snap In 531 cmdlets
geoff@varosky.com | @gvaro | www.sharepointyankee.com | www.jornata.com | @JornataLLC
POWERSHELL SharePoint Management Shell
Requires PowerShell 2.0 Backwards compatible, installs into 1.0 folder
<%SystemRoot%>\System32\WindowsPowerShell\v1.0\PowerShell.exe
geoff@varosky.com | @gvaro | www.sharepointyankee.com | www.jornata.com | @JornataLLC
DEMO: SHAREPOINT CMDLETS
geoff@varosky.com | @gvaro | www.sharepointyankee.com | www.jornata.com | @JornataLLC
ENVIRONMENT DEPLOYMENT
geoff@varosky.com | @gvaro | www.sharepointyankee.com | www.jornata.com | @JornataLLC
ENVIRONMENT DEPLOYMENT AutoSPInstaller
Deploy single or multi-server farms from one script XML-based configuration Re-launches with Elevated Privs to deal with User Access
Control Automatically download and install platform pre-
requisites Can be done in offline mode
Install both SharePoint and Office Web Apps using config files
ULS Logging path IIS Configuration PDF iFilter Installationgeoff@varosky.com | @gvaro | www.sharepointyankee.com | www.jornata.com | @JornataLLC
ENVIRONMENT DEPLOYMENT AutoSPInstaller
Remote installation into other servers into the farm Forefront installation and configuration Logging of all installation Easily re-start if a failure occurs Easily slipstream installations (service pack 1, CUs, etc.) Create web applications, site collections New WFE or App Server? Wash, Rinse, Repeat. New web application or service application? Wash, Rinse,
Repeat.
geoff@varosky.com | @gvaro | www.sharepointyankee.com | www.jornata.com | @JornataLLC
ENVIRONMENT DEPLOYMENT Configure Service Applications
User Profile Service Application User Profile Synchronization Service Metadata Service Application SharePoint Foundation User Code Service State Service Application Usage and Health Service Application Secure Store Service Enterprise Search Service Application Web Analytics Service Application Business Data Connectivity Service Application Excel Service Application Access Service Application
geoff@varosky.com | @gvaro | www.sharepointyankee.com | www.jornata.com | @JornataLLC
ENVIRONMENT DEPLOYMENT Configure Service Applications
PerformancePoint Service Application Visio Graphics Service Application Word Automation (Conversion) Service Application Word Viewing Service Application Excel Service Application (if not already provisioned by virtue of having an
Enterprise license)
Not PowerPivot Overly complex install
geoff@varosky.com | @gvaro | www.sharepointyankee.com | www.jornata.com | @JornataLLC
ENVIRONMENT DEPLOYMENT Creates databases based on YOUR naming
conventions
geoff@varosky.com | @gvaro | www.sharepointyankee.com | www.jornata.com | @JornataLLC
ENVIRONMENT DEPLOYMENT Maintenance
Any configurable change needs to be updated If versioned, provides an evolution of your farm Ensures
geoff@varosky.com | @gvaro | www.sharepointyankee.com | www.jornata.com | @JornataLLC
DEMO: AUTOSPINSTALLER REVIEW
geoff@varosky.com | @gvaro | www.sharepointyankee.com | www.jornata.com | @JornataLLC
APPLICATION DEPLOYMENT
geoff@varosky.com | @gvaro | www.sharepointyankee.com | www.jornata.com | @JornataLLC
APPLICATION DEPLOYMENT Why deploy applications in PowerShell?
Developers can pass installations to administrators Replicable through environment deployments
geoff@varosky.com | @gvaro | www.sharepointyankee.com | www.jornata.com | @JornataLLC
DEV TEST PROD
APPLICATION DEPLOYMENT What can be automated?
Farm Configuration Service application configuration
Search scopes Managed Metadata
Web application configuration Upload limits Permission policies
Solution Deployment EXE and MSI deployments
geoff@varosky.com | @gvaro | www.sharepointyankee.com | www.jornata.com | @JornataLLC
APPLICATION DEPLOYMENT Anatomy
Deployment Master Script Variables Initiates Logging Step-By-Step Deployment Directions and Documentation
Shared Functions File Updates not to be done across scripts Managed by platform team
Steps
geoff@varosky.com | @gvaro | www.sharepointyankee.com | www.jornata.com | @JornataLLC
DEMO: APPLICATION DEPLOYMENT
geoff@varosky.com | @gvaro | www.sharepointyankee.com | www.jornata.com | @JornataLLC
RECOMMENDATIONS Documentation
Provide overall Guidelines Basic usage, functionality Naming of scripts How scripts are used How to use basic functions How to run steps
geoff@varosky.com | @gvaro | www.sharepointyankee.com | www.jornata.com | @JornataLLC
RECOMMENDATIONS Documentation
Function Reference Copy of Functions script
geoff@varosky.com | @gvaro | www.sharepointyankee.com | www.jornata.com | @JornataLLC
RECOMMENDATIONS Documentation
Script Samples Helps with buy-in Gives examples Re-usable snippets
geoff@varosky.com | @gvaro | www.sharepointyankee.com | www.jornata.com | @JornataLLC
FURTHER REFINEMENTS… Handle all configuration via XML file variables Export steps to their own scripts Manage entirely through SharePoint Lists
Additional steps can be scripted/approved through workflow? Host documentation and example scripts in SharePoint,
allow alerts for file changes
geoff@varosky.com | @gvaro | www.sharepointyankee.com | www.jornata.com | @JornataLLC
RESOURCES What is COM?
http://en.wikipedia.org/wiki/Component_Object_Model What is WMI?
http://en.wikipedia.org/wiki/Windows_Management_Instrumentation PowerShell for SharePoint References
2010: http://go.gvaro.net/XgmYCk 2013: http://go.gvaro.net/YBLtGW
Cmdlet Index 2010: http://go.gvaro.net/WHh5wD 2013: http://go.gvaro.net/151DGaX
geoff@varosky.com | @gvaro | www.sharepointyankee.com | www.jornata.com | @JornataLLC
TOOLS Windows PowerShell for SharePoint Command
Builder http://go.gvaro.net/WS4s3u
Gary Lapointe’s PowerShell cmdlets http://go.gvaro.net/YirJau
AutoSPInstaller http://autospinstaller.codeplex.com
geoff@varosky.com | @gvaro | www.sharepointyankee.com | www.jornata.com | @JornataLLC
QUESTIONS?
gvarosky@jornata.com | @gvaro | www.sharepointyankee.com | www.jornata.com | @JornataLLC
BOSTON AREA SPUG Meets 2nd Wednesday/month 6-8PM Microsoft N.E.R.D. (Cambridge) BostonSharePointUG.org Twitter: @BASPUG / #BASPUG SPTechCon Hosted Meeting in August!
geoff@varosky.com | @gvaro | www.sharepointyankee.com | www.jornata.com | @JornataLLC
QUESTIONS?
geoff@varosky.com | @gvaro | www.sharepointyankee.com | www.jornata.com | @JornataLLC
ABOUT ME
geoff@varosky.com | @gvaro | www.sharepointyankee.com | www.jornata.com | @JornataLLC
Geoff Varosky Jornata
Managing Consultant, Senior Architect, Senior Developer, Director of Evangelism
President & Co-Founder Boston Area SharePoint Users Group Co-Organizer SharePoint Saturday Boston
Recent Awards Top 25 2012 Harmon.ie Online Community Influencer Top 50 2012 KnowledgeLake Community Influencer
Blog – www.SharePointYankee.com Email – geoff@varosky.com Twitter – @gvaro
Recommended