ci with sp 2010 and tfs

Upload: peter-walke

Post on 07-Apr-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/6/2019 CI with SP 2010 and TFS

    1/21

    Continuous Integration with

    SharePoint 2010 and TFSChicago Visual Studio ALM User Group August 10th, 2011

    George DurziPeter Walke

  • 8/6/2019 CI with SP 2010 and TFS

    2/21

    About Us

    George Durzi

    @gdurzi

    http://blogs.claritycon.com/georgedurzi [email protected]

    Peter Walke

    @pwalke

    http://blogs.claritycon.com/peterwalke

    [email protected]

  • 8/6/2019 CI with SP 2010 and TFS

    3/21

    Agenda

    The SharePoint 2010 development problem

    Automating your WSP build process

    Automating your deployment How far to take it

    Useful tools

    Tips for SharePoint 2010 WCM development

    Q&A

  • 8/6/2019 CI with SP 2010 and TFS

    4/21

    Introduction

    Just completed a SharePoint 2010 WCM

    project

    Fixed bid / short duration How much time to spend on automating build

    and deployment

    The client doesnt care Find the right balance

  • 8/6/2019 CI with SP 2010 and TFS

    5/21

    Solution Overview

    Internet SharePoint Farm

    ActiveDirectory

    SQLSharePoint

    Content

    Deployment

  • 8/6/2019 CI with SP 2010 and TFS

    6/21

    The SharePoint 2010 Development Problem

    The tools are greatly improved

    But they only get you so far

    Developer productivity Need to be able to quickly recreate environment

    Ability to deploy to different environments

    Internal, e.g. development integration Client

  • 8/6/2019 CI with SP 2010 and TFS

    7/21

    Automating WSP Build Process

    Goal: Have most recent .WSPs in a well-know

    location

    1. Edit the build definition to create WSPs:

    /p:IsPackaging = true

  • 8/6/2019 CI with SP 2010 and TFS

    8/21

    Automating WSP Build Process

    2. Postbuild Copy project output to the folder

    Curr Build

  • 8/6/2019 CI with SP 2010 and TFS

    9/21

    DEMO

    TFS Build Solution

  • 8/6/2019 CI with SP 2010 and TFS

    10/21

    Automating your Deployment

    Create web application

    Deploy WSPs

    Create site collection Activate features

    Create site structure

    Populate lists

    Configure Variations

    Configure Content Deployment

  • 8/6/2019 CI with SP 2010 and TFS

    11/21

    Is this Continuous Integration?

    Not really

    Only if you automate all these things

    Do you really need continuous integration?

    Tear down and recreate your environment on

    every check in?

    Too heavy-handed for SharePoint Deploy to your environment and tweak with

    updates

  • 8/6/2019 CI with SP 2010 and TFS

    12/21

    Leveraging PowerShell

    PowerShell in SharePoint 2010 allows you to

    easily automate entire site creation

    Separate functionality into smaller scripts withparameters.

    Create driver scripts to build as much or as

    little of the site that you need

  • 8/6/2019 CI with SP 2010 and TFS

    13/21

    Leveraging PowerShell

    Example Scripts:

    _DriverFull.c d

    _DriverFull.ps1_DriverWebAppSiteCollections.ps1

    CreateWebApplication.ps1

    CreateSiteCollections.ps1

    ActivateFeatures.ps1

    CreatePageStubs.ps1

  • 8/6/2019 CI with SP 2010 and TFS

    14/21

    DEMO

    Automating Deployment with PowerShell

  • 8/6/2019 CI with SP 2010 and TFS

    15/21

    How far to take it

    How much to include in the TFS build itself

    Some things are a PITA to automate

    Budget / Time / Complexity Automate whats easy to automate

    Dont be afraid of manual post-deployment

    steps

  • 8/6/2019 CI with SP 2010 and TFS

    16/21

    Wish List (Realistic)

    Configure Variations

    Automate running of helper scripts to create

    site structure Configure navigation

    Populate pages with content

  • 8/6/2019 CI with SP 2010 and TFS

    17/21

    Wish List (Pie in the Sky)

    Environment specific build

    Environment conscious deploy scripts

    Complete nightly build to target environment

    Dont wait too long to deploy. It hurts, but its agood pain.

    Web tests

    Automate content deployment User will be looking at your content deployment

    target

  • 8/6/2019 CI with SP 2010 and TFS

    18/21

    Useful Tools

    CKSDEV

    ConfigStore

    ACs STSADM commands

    log4net

    Zeta Resource Editor

  • 8/6/2019 CI with SP 2010 and TFS

    19/21

    Useful Tools

  • 8/6/2019 CI with SP 2010 and TFS

    20/21

    Tips

    Visual Web Parts vs. CQWPs

    Anonymous access

    Work with real URLs

    Data population

    Content deployment

    Properly structuring your WSPs

    Lists PublishingContent

    Assets

  • 8/6/2019 CI with SP 2010 and TFS

    21/21

    Q&A