David SchneiderDamit die Tester schnellerran können.Daily Builds mit SharePoint
About the SpeakerDavid Schneider: david@sharepoint.chBlog: http://blog.sharepoint.chisolutions AG: http://www.isolutions.ch
Agenda   Paketierung   Team Foundation Server   Automatisches Deployment   Build Quality, Versionierung, Continuous   ...
Die Vision    «Jede Nacht wird der aktuelle Stand der   Entwicklung auf unser Testsystem deployt.  Sämtliche Daten sind vo...
Herausforderung Agile Projekte, kurze Iterationen Jede Iteration muss getestet werden Die Lösung wird immer wieder depl...
Build Automation is not…         F5
SharePoint Solutions                          Code (Web Parts, Event                                Receivers)      Conten...
Umfang des Deployments   Deployment von Code Solutions   «Deployment» von No-Code Customizations   Erstellen der Site S...
ZielDeployment erfordertwenige manuelle                DEVSchritte                        PROD         TEST Paketierung a...
Was lässt sich als WSP deployen…                      DesginCode                                           Customizations ...
WSP einfach & schnell erstellen Visual Studio 2010 Projekt Features für  Master Page, Page Layouts und Ressourcen  Sit...
Wofür schreibt man ein Script…Struktur                                  Funktionen                                        ...
Deployment von Site Templates Site Template («Save as Template»)  • Nur innerhalb einer Site Collection  • Import nach Vi...
Deployment von SPD Customizations Workflows, BCS, Customized Forms, etc. Speichern als Sandbox Solution Deployment der ...
Demo
Integrationsumgebung   Content   Benutzer   Farm Design   Language Packs   Patch Level   Service Applications    • P...
Lohnt sich der Aufwand?   Produktentwicklung   Mehrere Iterationen   Team > 2 Entwickler   Projektdauer > 2 Monate   ...
Gewinn Aufwand für Deployment ist gering Automatisches Deployment ist getestet Konsistente Builds
David SchneiderTeam 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 Founda...
David SchneiderTeam Build in SharePointProjekten
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  einscha...
Berechtigungen Build Account LocalAdmin auf Integrationssystem Farm Administration Group Zugriff auf PowerShell  Add-SP...
Vorbereitung Build Agent PowerShell execution policy  Set-ExecutionPolicy RemoteSigned Credentialsübergabe via CredSSP  ...
Zugriff testen Build Server  Integrationsystem Enter-PSSession –ComputerName  “SPServer” Enter-PSSession -ComputerName...
David SchneiderSharePoint/TFS ContinuousIntegration Starter Pack
Build Prozess mit SharePoint CI
Site ProvisioningPowerShell Script, welches die gesamte Lösung erstelltund konfiguriert.
Site Provisioning
Version 1.1?Herausforderung: neuer Release einerbestehenden LösungMögliche Lösung: Bei jedem Deployment Content DB lösche...
David SchneiderBuilds versionieren
Versionierung der AssembliesAssembly Version wird referenziert (Web Parts, WebControls, Event Handlers) und kann daher nic...
David SchneiderWeitereQualitätsindikatoren
TFS ReportsBuild Quality Indicators Failed/passed Tests Code Churn Code Coverage Active BugsCode Analysis SPDisposeCh...
Continuous Integration Build und Deploy nach jedem Check In Deployment auf eigenes Test  System, welches nicht von den T...
Zusammenfassung Paketierung von SharePoint Solutions Build mit TFS Deployment mit PowerShell Scripts
KontaktdatenDavid Schneider: david@sharepoint.chBlog: http://blog.sharepoint.chisolutions AG: http://www.isolutions.ch
Collaboration Days 2011 - Damit die Tester schneller ran können.
Collaboration Days 2011 - Damit die Tester schneller ran können.
Nächste SlideShare
Wird geladen in …5
×

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

787 Aufrufe

Veröffentlicht am

Veröffentlicht in: Technologie
0 Kommentare
1 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

Keine Downloads
Aufrufe
Aufrufe insgesamt
787
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
2
Aktionen
Geteilt
0
Downloads
7
Kommentare
0
Gefällt mir
1
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie
  • Erstellen eines Web TemplatesErstellen von Content Types
  • Zeigen
  • CredSSP:Security Support Provider (SSP),übergabe der Login Informationenvom Client an den Server
  • Collaboration Days 2011 - Damit die Tester schneller ran können.

    1. 1. David SchneiderDamit die Tester schnellerran können.Daily Builds mit SharePoint
    2. 2. About the SpeakerDavid Schneider: david@sharepoint.chBlog: http://blog.sharepoint.chisolutions AG: http://www.isolutions.ch
    3. 3. Agenda Paketierung Team Foundation Server Automatisches Deployment Build Quality, Versionierung, Continuous Integration
    4. 4. 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.»
    5. 5. Herausforderung Agile Projekte, kurze Iterationen Jede Iteration muss getestet werden Die Lösung wird immer wieder deployt Deployment muss schnell und einfacherfolgen (ansonsten laufen die Kosten aus demRuder)
    6. 6. Build Automation is not… F5
    7. 7. SharePoint Solutions Code (Web Parts, Event Receivers) Content (Sitestruktur, Composites (SharePoint Listeninhalte, Designer, Customizations) Berechtigungen)
    8. 8. 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
    9. 9. ZielDeployment erfordertwenige manuelle DEVSchritte PROD TEST Paketierung als WSP Manipulationen per Skript INT
    10. 10. Was lässt sich als WSP deployen… DesginCode Customizations • Web Parts • Master • Content • Event Page Types Handlers • Page • Site • Coded Layouts Columns Workflows • CSS • Ribbon • JavaScript • Themes
    11. 11. 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/
    12. 12. Wofür schreibt man ein Script…Struktur Funktionen Zugang • Site Collections • Features • Berechtigungen • Sites aktivieren • Navigation • Listen • Master Pages • Basisdaten setzen
    13. 13. 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
    14. 14. Deployment von SPD Customizations Workflows, BCS, Customized Forms, etc. Speichern als Sandbox Solution Deployment der Sandbox Solution mittels PowerShell Script
    15. 15. Demo
    16. 16. Integrationsumgebung Content Benutzer Farm Design Language Packs Patch Level Service Applications • Profiles, MySite, Search, Managed Metadata Alternate Access Mapping
    17. 17. Lohnt sich der Aufwand? Produktentwicklung Mehrere Iterationen Team > 2 Entwickler Projektdauer > 2 Monate Verteilte Teams
    18. 18. Gewinn Aufwand für Deployment ist gering Automatisches Deployment ist getestet Konsistente Builds
    19. 19. David SchneiderTeam Foundation Server 2010
    20. 20. Visual Studio Team System 2010
    21. 21. Server Umgebung
    22. 22. TFS Build Process Code zusammenstellen • Workflow Foundation 4.0 Kompilieren • MSBuild 4.0 Testing • Workflow Foundation 4.0 Deploying • Workflow Foundation 4.0
    23. 23. David SchneiderTeam Build in SharePointProjekten
    24. 24. WSP generieren…MSBuild Argument/p:IsPackaging=True
    25. 25. Deployment der Lösung Keine OOTB Unterstützung WF Activity PowerShell • z.B. http://sharepointci.codeplex.com/
    26. 26. 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
    27. 27. Berechtigungen Build Account LocalAdmin auf Integrationssystem Farm Administration Group Zugriff auf PowerShell Add-SPShellAdmin
    28. 28. Vorbereitung Build Agent PowerShell execution policy Set-ExecutionPolicy RemoteSigned Credentialsübergabe via CredSSP Enable-WSManCredSSP -Role client - DelegateComputer “SPServer”
    29. 29. Zugriff testen Build Server  Integrationsystem Enter-PSSession –ComputerName “SPServer” Enter-PSSession -ComputerName “SPServer” -Authentication CredSSP – Credential Get-Credential
    30. 30. David SchneiderSharePoint/TFS ContinuousIntegration Starter Pack
    31. 31. Build Prozess mit SharePoint CI
    32. 32. Site ProvisioningPowerShell Script, welches die gesamte Lösung erstelltund konfiguriert.
    33. 33. Site Provisioning
    34. 34. Version 1.1?Herausforderung: neuer Release einerbestehenden LösungMögliche Lösung: Bei jedem Deployment Content DB löschen und neu attachen Upgrade Prozess durchlaufen
    35. 35. David SchneiderBuilds versionieren
    36. 36. Versionierung der AssembliesAssembly Version wird referenziert (Web Parts, WebControls, Event Handlers) und kann daher nicht geändertwerdenAlternative: Assembly File Version  Anzeige als ProductVersionhttp://tfssimpleversioning.codeplex.com/
    37. 37. David SchneiderWeitereQualitätsindikatoren
    38. 38. TFS ReportsBuild Quality Indicators Failed/passed Tests Code Churn Code Coverage Active BugsCode Analysis SPDisposeCheck
    39. 39. 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
    40. 40. Zusammenfassung Paketierung von SharePoint Solutions Build mit TFS Deployment mit PowerShell Scripts
    41. 41. KontaktdatenDavid Schneider: david@sharepoint.chBlog: http://blog.sharepoint.chisolutions AG: http://www.isolutions.ch

    ×