SlideShare ist ein Scribd-Unternehmen logo
1 von 43
David Schneider
Damit die Tester schneller
ran können.
Daily Builds mit SharePoint
About the Speaker
David Schneider: david@sharepoint.ch

Blog: http://blog.sharepoint.ch
isolutions AG: http://www.isolutions.ch
Agenda
   Paketierung
   Team Foundation Server
   Automatisches Deployment
   Build Quality, Versionierung, Continuous
    Integration
Die Vision

    «Jede Nacht wird der aktuelle Stand der
   Entwicklung auf unser Testsystem deployt.
  Sämtliche Daten sind vorhanden, so dass die
 Tester sofort mit dem Test beginnen können.»
Herausforderung
 Agile Projekte, kurze Iterationen
 Jede Iteration muss getestet werden
 Die Lösung wird immer wieder deployt

 Deployment muss schnell und einfach
erfolgen (ansonsten laufen die Kosten aus dem
Ruder)
Build Automation is not…




         F5
SharePoint Solutions

                          Code (Web Parts, Event
                                Receivers)




      Content (Sitestruktur,
                                             Composites (SharePoint
         Listeninhalte,
                                            Designer, Customizations)
        Berechtigungen)
Umfang des Deployments
   Deployment von Code Solutions
   «Deployment» von No-Code Customizations
   Erstellen der Site Struktur
   Einrichten der Sites
   Erfassen von Stammdaten
   Vergeben von Berechtigungen
Ziel
Deployment erfordert
wenige manuelle                DEV
Schritte
                        PROD         TEST
 Paketierung als WSP
 Manipulationen per
  Skript                       INT
Was lässt sich als WSP deployen…




                      Desgin
Code




                                           Customizations
       • Web Parts             • Master                     • Content
       • Event                   Page                         Types
         Handlers              • Page                       • Site
       • Coded                   Layouts                      Columns
         Workflows             • CSS                        • Ribbon
       • JavaScript            • Themes
WSP einfach & schnell erstellen
 Visual Studio 2010 Projekt
 Features für
  Master Page, Page Layouts und Ressourcen
  Site Columns und Content Types
 Visual Studio Add In
  http://cksdev.codeplex.com/
Wofür schreibt man ein Script…
Struktur




                                  Funktionen




                                                                Zugang
           •   Site Collections                • Features                • Berechtigungen
           •   Sites                             aktivieren              • Navigation
           •   Listen                          • Master Pages
           •   Basisdaten                        setzen
Deployment von Site Templates
 Site Template («Save as Template»)
  • Nur innerhalb einer Site Collection
  • Import nach Visual Studio bringt viel Ballast mit
 Site Definition
  • Aufwändig, auch Microsoft rät davon ab
 Web Templates
  • Delta zu OOTB Site Definition als Feature
  • Elements.xml und (vereinfachtes) ONET.XML
Deployment von SPD Customizations

 Workflows, BCS, Customized Forms, etc.
 Speichern als Sandbox Solution
 Deployment der Sandbox Solution mittels
  PowerShell Script
Demo
Integrationsumgebung
   Content
   Benutzer
   Farm Design
   Language Packs
   Patch Level
   Service Applications
    • Profiles, MySite, Search, Managed Metadata
 Alternate Access Mapping
Lohnt sich der Aufwand?
   Produktentwicklung
   Mehrere Iterationen
   Team > 2 Entwickler
   Projektdauer > 2 Monate
   Verteilte Teams
Gewinn
 Aufwand für Deployment ist gering
 Automatisches Deployment ist getestet
 Konsistente Builds
David Schneider
Team Foundation Server 2010
Visual Studio Team System 2010
Server Umgebung
TFS Build Process
  Code zusammenstellen
  • Workflow Foundation 4.0
  Kompilieren
  • MSBuild 4.0
  Testing
  • Workflow Foundation 4.0
  Deploying
  • Workflow Foundation 4.0
David Schneider
Team Build in SharePoint
Projekten
WSP generieren…
MSBuild Argument
/p:IsPackaging=True
Deployment der Lösung
 Keine OOTB Unterstützung
 WF Activity
 PowerShell
 • z.B. http://sharepointci.codeplex.com/
Vorbereitung Integrationssystem
 PowerShell Remoting erlauben
  Enable-PSRemoting
 Credentialsübergabe via CredSSP
  einschalten
  Enable-WSManCredSSP –Role Server
 PowerShell Memory auf 1 GB
 Set-Item WSMan:localhostShellMaxMemoryPerShellMB 1024
Berechtigungen Build Account
 LocalAdmin auf Integrationssystem
 Farm Administration Group
 Zugriff auf PowerShell
  Add-SPShellAdmin
Vorbereitung Build Agent
 PowerShell execution policy
  Set-ExecutionPolicy RemoteSigned
 Credentialsübergabe via CredSSP
  Enable-WSManCredSSP -Role client -
  DelegateComputer “SPServer”
Zugriff testen
 Build Server  Integrationsystem
 Enter-PSSession –ComputerName
  “SPServer”
 Enter-PSSession -ComputerName
  “SPServer” -Authentication CredSSP –
  Credential Get-Credential
David Schneider
SharePoint/TFS Continuous
Integration Starter Pack
Build Prozess mit SharePoint CI
Site Provisioning
PowerShell Script, welches die gesamte Lösung erstellt
und konfiguriert.
Site Provisioning
Version 1.1?
Herausforderung: neuer Release einer
bestehenden Lösung

Mögliche Lösung: Bei jedem Deployment
 Content DB löschen und neu attachen
 Upgrade Prozess durchlaufen
David Schneider
Builds versionieren
Versionierung der Assemblies
Assembly Version wird referenziert (Web Parts, Web
Controls, Event Handlers) und kann daher nicht geändert
werden

Alternative: Assembly File Version  Anzeige als Product
Version


http://tfssimpleversioning.codeplex.com/
David Schneider
Weitere
Qualitätsindikatoren
TFS Reports
Build Quality Indicators
 Failed/passed Tests
 Code Churn
 Code Coverage
 Active Bugs

Code Analysis
 SPDisposeCheck
Continuous Integration
 Build und Deploy nach jedem Check In
 Deployment auf eigenes Test
  System, welches nicht von den Tester
  verwendet wird
 Automated UI Tests ausführen
Zusammenfassung
 Paketierung von SharePoint Solutions
 Build mit TFS
 Deployment mit PowerShell Scripts
Kontaktdaten
David Schneider: david@sharepoint.ch

Blog: http://blog.sharepoint.ch
isolutions AG: http://www.isolutions.ch

Weitere ähnliche Inhalte

Was ist angesagt?

Windows Azure SQL Databases
Windows Azure SQL DatabasesWindows Azure SQL Databases
Windows Azure SQL Databases
Jan Hentschel
 
Windows Azure Mobile Services
Windows Azure Mobile ServicesWindows Azure Mobile Services
Windows Azure Mobile Services
Jan Hentschel
 
Creasoft - Windows Azure
Creasoft - Windows AzureCreasoft - Windows Azure
Creasoft - Windows Azure
Creasoft AG
 
MVC 1.0: Zeitgemäße Webanwendungen in JavaEE
MVC 1.0: Zeitgemäße Webanwendungen in JavaEEMVC 1.0: Zeitgemäße Webanwendungen in JavaEE
MVC 1.0: Zeitgemäße Webanwendungen in JavaEE
OPEN KNOWLEDGE GmbH
 

Was ist angesagt? (19)

VDI-in-a-Box
VDI-in-a-BoxVDI-in-a-Box
VDI-in-a-Box
 
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
 
Webinar SharePoint auf AWS
Webinar SharePoint auf AWSWebinar SharePoint auf AWS
Webinar SharePoint auf AWS
 
Moderner Webentwicklungs-Workflow
Moderner Webentwicklungs-WorkflowModerner Webentwicklungs-Workflow
Moderner Webentwicklungs-Workflow
 
Windows Azure SQL Databases
Windows Azure SQL DatabasesWindows Azure SQL Databases
Windows Azure SQL Databases
 
Mehrere Apps, ein Backend: Windows Azure Mobile Services in der Praxis
Mehrere Apps, ein Backend: Windows Azure Mobile Services in der PraxisMehrere Apps, ein Backend: Windows Azure Mobile Services in der Praxis
Mehrere Apps, ein Backend: Windows Azure Mobile Services in der Praxis
 
Jug nbg containerplattform dcos
Jug nbg containerplattform dcosJug nbg containerplattform dcos
Jug nbg containerplattform dcos
 
Windows Azure Mobile Services
Windows Azure Mobile ServicesWindows Azure Mobile Services
Windows Azure Mobile Services
 
Azure Bootcamp Hamburg
Azure Bootcamp Hamburg Azure Bootcamp Hamburg
Azure Bootcamp Hamburg
 
Creasoft - Windows Azure
Creasoft - Windows AzureCreasoft - Windows Azure
Creasoft - Windows Azure
 
Nooku, Molajo & Co - Joomla! Distributionen. Oder Forks.
Nooku, Molajo & Co - Joomla! Distributionen. Oder Forks.Nooku, Molajo & Co - Joomla! Distributionen. Oder Forks.
Nooku, Molajo & Co - Joomla! Distributionen. Oder Forks.
 
Workshop Vue js
Workshop Vue jsWorkshop Vue js
Workshop Vue js
 
JSF meets JS (2. ed.) - JSF-Komponenten mit JavaScript
JSF meets JS (2. ed.) - JSF-Komponenten mit JavaScriptJSF meets JS (2. ed.) - JSF-Komponenten mit JavaScript
JSF meets JS (2. ed.) - JSF-Komponenten mit JavaScript
 
Creasoft-Akademie - Mobile Multiplattform Apps
Creasoft-Akademie - Mobile Multiplattform AppsCreasoft-Akademie - Mobile Multiplattform Apps
Creasoft-Akademie - Mobile Multiplattform Apps
 
GWT – Google Web Toolkit in der Praxis
GWT – Google Web Toolkit in der PraxisGWT – Google Web Toolkit in der Praxis
GWT – Google Web Toolkit in der Praxis
 
SDC2011: Web Performance Optimization
SDC2011: Web Performance OptimizationSDC2011: Web Performance Optimization
SDC2011: Web Performance Optimization
 
MVC 1.0: Zeitgemäße Webanwendungen in JavaEE
MVC 1.0: Zeitgemäße Webanwendungen in JavaEEMVC 1.0: Zeitgemäße Webanwendungen in JavaEE
MVC 1.0: Zeitgemäße Webanwendungen in JavaEE
 
Oracle Private & Public Database-as-a-Service
Oracle Private & Public Database-as-a-ServiceOracle Private & Public Database-as-a-Service
Oracle Private & Public Database-as-a-Service
 
Webpack
WebpackWebpack
Webpack
 

Andere mochten auch

Presentación andréss
Presentación andréssPresentación andréss
Presentación andréss
andresssfee
 
Universidad tecnica de ambato ntics
Universidad tecnica de ambato nticsUniversidad tecnica de ambato ntics
Universidad tecnica de ambato ntics
Israellopez20
 
IT-Rechtliche Anforderungen - Haftungsfallen für Unternehmen
IT-Rechtliche Anforderungen - Haftungsfallen für UnternehmenIT-Rechtliche Anforderungen - Haftungsfallen für Unternehmen
IT-Rechtliche Anforderungen - Haftungsfallen für Unternehmen
Stephan Schmidt
 
Rezitation
RezitationRezitation
Rezitation
resub
 
La botiga del nostre hort power
La botiga del nostre hort powerLa botiga del nostre hort power
La botiga del nostre hort power
aulaprimerb
 

Andere mochten auch (20)

Presentación andréss
Presentación andréssPresentación andréss
Presentación andréss
 
Onlinejournalismus
OnlinejournalismusOnlinejournalismus
Onlinejournalismus
 
Reglamento transporte
Reglamento transporteReglamento transporte
Reglamento transporte
 
Pisa 2012 EGD 2009 Xàbia nov 2014
Pisa 2012 EGD 2009 Xàbia nov 2014Pisa 2012 EGD 2009 Xàbia nov 2014
Pisa 2012 EGD 2009 Xàbia nov 2014
 
Budismo
BudismoBudismo
Budismo
 
Flinders1001
Flinders1001Flinders1001
Flinders1001
 
Terrorist
TerroristTerrorist
Terrorist
 
Essen und Trinken in der Bibel
Essen und Trinken in der BibelEssen und Trinken in der Bibel
Essen und Trinken in der Bibel
 
Presentaciones electronicas
Presentaciones electronicasPresentaciones electronicas
Presentaciones electronicas
 
Quellcodehinterlegung richtig gestalten
Quellcodehinterlegung richtig gestaltenQuellcodehinterlegung richtig gestalten
Quellcodehinterlegung richtig gestalten
 
Presentación1
Presentación1Presentación1
Presentación1
 
Was sind eigentlich Open Educational Ressources (OER)?
Was sind eigentlich Open Educational Ressources (OER)?Was sind eigentlich Open Educational Ressources (OER)?
Was sind eigentlich Open Educational Ressources (OER)?
 
Plan de i.e condina
Plan de i.e condinaPlan de i.e condina
Plan de i.e condina
 
Universidad tecnica de ambato ntics
Universidad tecnica de ambato nticsUniversidad tecnica de ambato ntics
Universidad tecnica de ambato ntics
 
Agente rana
Agente ranaAgente rana
Agente rana
 
IT-Rechtliche Anforderungen - Haftungsfallen für Unternehmen
IT-Rechtliche Anforderungen - Haftungsfallen für UnternehmenIT-Rechtliche Anforderungen - Haftungsfallen für Unternehmen
IT-Rechtliche Anforderungen - Haftungsfallen für Unternehmen
 
Radio tlatoani
Radio tlatoaniRadio tlatoani
Radio tlatoani
 
proyecto de formulacion de problemas
proyecto de formulacion de problemasproyecto de formulacion de problemas
proyecto de formulacion de problemas
 
Rezitation
RezitationRezitation
Rezitation
 
La botiga del nostre hort power
La botiga del nostre hort powerLa botiga del nostre hort power
La botiga del nostre hort power
 

Ähnlich wie Collaboration Days 2011 - Damit die Tester schneller ran können.

Best Practices SharePoint and SQL Installation
Best Practices SharePoint and SQL InstallationBest Practices SharePoint and SQL Installation
Best Practices SharePoint and SQL Installation
Samuel Zürcher
 

Ähnlich wie Collaboration Days 2011 - Damit die Tester schneller ran können. (20)

2005 - NRW Conf: Design, Entwicklung und Tests
2005 - NRW Conf: Design, Entwicklung und Tests2005 - NRW Conf: Design, Entwicklung und Tests
2005 - NRW Conf: Design, Entwicklung und Tests
 
Atlassian Confluence als Software-Infrastruktur
Atlassian Confluence als Software-InfrastrukturAtlassian Confluence als Software-Infrastruktur
Atlassian Confluence als Software-Infrastruktur
 
Basta 2016 - Test- und Releaseumgebungen in der Cloud
Basta 2016 - Test- und Releaseumgebungen in der CloudBasta 2016 - Test- und Releaseumgebungen in der Cloud
Basta 2016 - Test- und Releaseumgebungen in der Cloud
 
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDI
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDISchlanke Webarchitekturen nicht nur mit JSF 2 und CDI
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDI
 
Grails im Überblick und in der Praxis
Grails im Überblick und in der PraxisGrails im Überblick und in der Praxis
Grails im Überblick und in der Praxis
 
GWT
GWTGWT
GWT
 
Prozessmanagement SaaS, Workflow Management SaaS, Prozesse Software as a Service
Prozessmanagement SaaS, Workflow Management SaaS, Prozesse Software as a ServiceProzessmanagement SaaS, Workflow Management SaaS, Prozesse Software as a Service
Prozessmanagement SaaS, Workflow Management SaaS, Prozesse Software as a Service
 
SaaS Web 2.0 Prozessmanagement
SaaS Web 2.0 ProzessmanagementSaaS Web 2.0 Prozessmanagement
SaaS Web 2.0 Prozessmanagement
 
Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?
Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?
Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?
 
LightSwitch und SQL Azure: Datengetriebene Anwendungen in Rekordzeit erstellen
LightSwitch und SQL Azure: Datengetriebene Anwendungen in Rekordzeit erstellenLightSwitch und SQL Azure: Datengetriebene Anwendungen in Rekordzeit erstellen
LightSwitch und SQL Azure: Datengetriebene Anwendungen in Rekordzeit erstellen
 
Desktop Containers 12: Next Generation of ZENworks Application Virtualization
Desktop Containers 12: Next Generation of ZENworks Application VirtualizationDesktop Containers 12: Next Generation of ZENworks Application Virtualization
Desktop Containers 12: Next Generation of ZENworks Application Virtualization
 
Cloud Deployment und (Auto)Scaling am Beispiel von Angrybird
Cloud Deployment und (Auto)Scaling am Beispiel von AngrybirdCloud Deployment und (Auto)Scaling am Beispiel von Angrybird
Cloud Deployment und (Auto)Scaling am Beispiel von Angrybird
 
Meet Magento - High performance magento
Meet Magento - High performance magentoMeet Magento - High performance magento
Meet Magento - High performance magento
 
Best Practices SharePoint and SQL Installation
Best Practices SharePoint and SQL InstallationBest Practices SharePoint and SQL Installation
Best Practices SharePoint and SQL Installation
 
Acceptance Testing - Automatisierte Web App Tests mit CasperJS
Acceptance Testing - Automatisierte Web App Tests mit CasperJSAcceptance Testing - Automatisierte Web App Tests mit CasperJS
Acceptance Testing - Automatisierte Web App Tests mit CasperJS
 
Sitecore. Ready to Start. Software Engineer
Sitecore. Ready to Start. Software EngineerSitecore. Ready to Start. Software Engineer
Sitecore. Ready to Start. Software Engineer
 
Amazon Lightsail Webinar
Amazon Lightsail WebinarAmazon Lightsail Webinar
Amazon Lightsail Webinar
 
Azure Data Factory – Data Management für die Cloud
Azure Data Factory – Data Management für die CloudAzure Data Factory – Data Management für die Cloud
Azure Data Factory – Data Management für die Cloud
 
BizSpark goes Cloud
BizSpark goes CloudBizSpark goes Cloud
BizSpark goes Cloud
 
DWX 2016 -Build and Release Management
DWX 2016 -Build and Release ManagementDWX 2016 -Build and Release Management
DWX 2016 -Build and Release Management
 

Mehr von David Schneider

SharePoint Community Mittelland: Fit für Office 365
SharePoint Community Mittelland: Fit für Office 365SharePoint Community Mittelland: Fit für Office 365
SharePoint Community Mittelland: Fit für Office 365
David Schneider
 

Mehr von David Schneider (20)

David Schneider: Sort your (child's) Legos with Cognitive Services
David Schneider: Sort your (child's) Legos with Cognitive ServicesDavid Schneider: Sort your (child's) Legos with Cognitive Services
David Schneider: Sort your (child's) Legos with Cognitive Services
 
Microsoft Teams as a Development Platform
Microsoft Teams as a Development PlatformMicrosoft Teams as a Development Platform
Microsoft Teams as a Development Platform
 
SPS Zurich 2018 - Azure Logic Apps: the new workflow engine
SPS Zurich 2018 - Azure Logic Apps: the new workflow engineSPS Zurich 2018 - Azure Logic Apps: the new workflow engine
SPS Zurich 2018 - Azure Logic Apps: the new workflow engine
 
Azure Logic Apps
Azure Logic AppsAzure Logic Apps
Azure Logic Apps
 
Office 365 Developer Bootcamp: Microsoft Teams
Office 365 Developer Bootcamp: Microsoft TeamsOffice 365 Developer Bootcamp: Microsoft Teams
Office 365 Developer Bootcamp: Microsoft Teams
 
Global Azure BootCamp: Azure Logic Apps
Global Azure BootCamp: Azure Logic AppsGlobal Azure BootCamp: Azure Logic Apps
Global Azure BootCamp: Azure Logic Apps
 
Oliver Hofmann: Office Graph
Oliver Hofmann: Office GraphOliver Hofmann: Office Graph
Oliver Hofmann: Office Graph
 
SharePoint 2016 Lauch Event
SharePoint 2016 Lauch EventSharePoint 2016 Lauch Event
SharePoint 2016 Lauch Event
 
SharePoint 8 Tipps um besser zu Finden
SharePoint 8 Tipps um besser zu FindenSharePoint 8 Tipps um besser zu Finden
SharePoint 8 Tipps um besser zu Finden
 
SharePoint Lösungen für die Zukunft
SharePoint Lösungen für die ZukunftSharePoint Lösungen für die Zukunft
SharePoint Lösungen für die Zukunft
 
Ein modernes DMS mit SharePoint
Ein modernes DMS mit SharePointEin modernes DMS mit SharePoint
Ein modernes DMS mit SharePoint
 
News von der Microsoft Ignite Zürich Juni 2015
News von der Microsoft Ignite Zürich Juni 2015News von der Microsoft Ignite Zürich Juni 2015
News von der Microsoft Ignite Zürich Juni 2015
 
News von der Microsoft Ignite
News von der Microsoft IgniteNews von der Microsoft Ignite
News von der Microsoft Ignite
 
SharePointCommunity.ch SharePoint Lösungen für die Zukunft
SharePointCommunity.ch SharePoint Lösungen für die ZukunftSharePointCommunity.ch SharePoint Lösungen für die Zukunft
SharePointCommunity.ch SharePoint Lösungen für die Zukunft
 
SharePoint Days 2014 - Fit für Office 365
SharePoint Days 2014  - Fit für Office 365SharePoint Days 2014  - Fit für Office 365
SharePoint Days 2014 - Fit für Office 365
 
SharePoint Community Mittelland: Fit für Office 365
SharePoint Community Mittelland: Fit für Office 365SharePoint Community Mittelland: Fit für Office 365
SharePoint Community Mittelland: Fit für Office 365
 
ShareConf 2014: 10 Gründe warum der SharePoint langsam ist
ShareConf 2014: 10 Gründe warum der SharePoint langsam istShareConf 2014: 10 Gründe warum der SharePoint langsam ist
ShareConf 2014: 10 Gründe warum der SharePoint langsam ist
 
SharePoint 2013 Search Driven Websites Collaboration Days 2014 David Schneider
SharePoint 2013 Search Driven Websites Collaboration Days 2014 David SchneiderSharePoint 2013 Search Driven Websites Collaboration Days 2014 David Schneider
SharePoint 2013 Search Driven Websites Collaboration Days 2014 David Schneider
 
Mehrsprachige Intranets mit SharePoint 2010
Mehrsprachige Intranets mit SharePoint 2010Mehrsprachige Intranets mit SharePoint 2010
Mehrsprachige Intranets mit SharePoint 2010
 
SharePoint Community Mittelland @ isolutions: SharePoint in der Cloud
SharePoint Community Mittelland @ isolutions: SharePoint in der CloudSharePoint Community Mittelland @ isolutions: SharePoint in der Cloud
SharePoint Community Mittelland @ isolutions: SharePoint in der Cloud
 

Collaboration Days 2011 - Damit die Tester schneller ran können.

Hinweis der Redaktion

  1. Erstellen eines Web TemplatesErstellen von Content Types
  2. Zeigen
  3. CredSSP:Security Support Provider (SSP),übergabe der Login Informationenvom Client an den Server