28
Marc Müller , 4tecture GmbH | Ognjen Bajic, Ekobit

Marc Müller, 4tecture GmbH | Ognjen Bajic, Ekobit · PDF fileDemo –GitFlow with Visual Studio. Software Engineering war nie spannender. Entwicklungslebenszyklus von Datenbanken

  • Upload
    lenhan

  • View
    224

  • Download
    3

Embed Size (px)

Citation preview

Page 1: Marc Müller, 4tecture GmbH | Ognjen Bajic, Ekobit · PDF fileDemo –GitFlow with Visual Studio. Software Engineering war nie spannender. Entwicklungslebenszyklus von Datenbanken

Marc Müller, 4tecture GmbH | Ognjen Bajic, Ekobit

Page 2: Marc Müller, 4tecture GmbH | Ognjen Bajic, Ekobit · PDF fileDemo –GitFlow with Visual Studio. Software Engineering war nie spannender. Entwicklungslebenszyklus von Datenbanken

Software Engineering war nie spannender.

AgendaAlternative Work Item Clients

Word Integration von Work Items

Outlook Integration

Versionsverwaltung

Branching Guidance, GitFlow

Versionsverwaltung der Oracle Datenbankobjekte

Community Build Extensions

Zeiterfassung mit TFS/VSO

Page 3: Marc Müller, 4tecture GmbH | Ognjen Bajic, Ekobit · PDF fileDemo –GitFlow with Visual Studio. Software Engineering war nie spannender. Entwicklungslebenszyklus von Datenbanken

Software Engineering war nie spannender.

Nützliche Erweiterungen zum bestehenden Work Item Tracking• Requirements Specification, Test Specification, Test Reporting

• Verarbeitung von Fliesstext, dokumentenbasiertes Arbeiten

• Offline Review / Dokument Review Workflow

• Archivierung der Spezifikation

Integrationspunkte / Anpassbarkeit• WI Felder Tabellen Zellen

• Anpassbare Layouts

• Verschiedene Synchronisationsmodi

Work Item Integration in Word

Page 4: Marc Müller, 4tecture GmbH | Ognjen Bajic, Ekobit · PDF fileDemo –GitFlow with Visual Studio. Software Engineering war nie spannender. Entwicklungslebenszyklus von Datenbanken

Software Engineering war nie spannender.

Leichtgewichtiges

Requirements Engineering

mit Word

Download: http://www.aitgmbh.de/nc/downloads/team-

foundation-server-tools/ait-wordtotfs.html

Demo - WordToTfs

Page 5: Marc Müller, 4tecture GmbH | Ognjen Bajic, Ekobit · PDF fileDemo –GitFlow with Visual Studio. Software Engineering war nie spannender. Entwicklungslebenszyklus von Datenbanken

Software Engineering war nie spannender.

Ein alternativer Client für TFS/VSO?

Im Produkt:

• Team Explorer oder Visual Studio

• Web Access

Warum nicht die Anwendung die wir alle haben – Outlook?

Page 6: Marc Müller, 4tecture GmbH | Ognjen Bajic, Ekobit · PDF fileDemo –GitFlow with Visual Studio. Software Engineering war nie spannender. Entwicklungslebenszyklus von Datenbanken

Software Engineering war nie spannender.

Outlook Objekte und Work Items verbinden

Work Items aus Email erstellen

Verlinkung mit Outlook Terminen, Erinnerungen, usw.

Vollwertiger VSO/TFS Client

Work Items – Abfragen, Volltextsuche, Gruppierung …

Berichte, Feedback, Agile PM Werkzeuge …

VSO/TFS aus Outlook zugreifen

SmartOutlook4TFS™

Page 7: Marc Müller, 4tecture GmbH | Ognjen Bajic, Ekobit · PDF fileDemo –GitFlow with Visual Studio. Software Engineering war nie spannender. Entwicklungslebenszyklus von Datenbanken

Software Engineering war nie spannender.

Arbeit mit TFS/VSO

aus Outlook

Demo - TeamCompanion

Page 8: Marc Müller, 4tecture GmbH | Ognjen Bajic, Ekobit · PDF fileDemo –GitFlow with Visual Studio. Software Engineering war nie spannender. Entwicklungslebenszyklus von Datenbanken

Software Engineering war nie spannender.

“Your branch distance from main is equal to your level of

insanity”

- anonymous

Branching Guidance

Page 9: Marc Müller, 4tecture GmbH | Ognjen Bajic, Ekobit · PDF fileDemo –GitFlow with Visual Studio. Software Engineering war nie spannender. Entwicklungslebenszyklus von Datenbanken

Software Engineering war nie spannender.

Visual Studio ALM Rangers Projekthttp://vsarbranchingguide.codeplex.com

• Branching Guidance

• TFVC

• NuGet Dependency Management

Branching Guidance

Page 10: Marc Müller, 4tecture GmbH | Ognjen Bajic, Ekobit · PDF fileDemo –GitFlow with Visual Studio. Software Engineering war nie spannender. Entwicklungslebenszyklus von Datenbanken

Software Engineering war nie spannender.

Branching Strategien

• Stabiler Main Branch

• Dev Branch

• Kurzlebige Feature Branches

• Feature-Toggle in Dev Branch

• Release Branch für Hotfixes

Page 11: Marc Müller, 4tecture GmbH | Ognjen Bajic, Ekobit · PDF fileDemo –GitFlow with Visual Studio. Software Engineering war nie spannender. Entwicklungslebenszyklus von Datenbanken

Software Engineering war nie spannender.

Why using Release Isolation 1/2

main release

no branch

Share release with users

fix bug

bug

reported

CI CI CI

testing

workspace

changeset

check-ins

bug fix

?

merge how with what?

1 2

3

4

5

6

Image Source: Branching and Merging Guide v3

Page 12: Marc Müller, 4tecture GmbH | Ognjen Bajic, Ekobit · PDF fileDemo –GitFlow with Visual Studio. Software Engineering war nie spannender. Entwicklungslebenszyklus von Datenbanken

Software Engineering war nie spannender.

Why using Release Isolation 2/2

main

release

no branch

Share release with users

bug

reported

CI CI CI

testing

Changeset / check-ins

1 2

3

CI

release bug fix

5

fix bug

4

RI

6

FI

Image Source: Branching and Merging Guide v3

Page 13: Marc Müller, 4tecture GmbH | Ognjen Bajic, Ekobit · PDF fileDemo –GitFlow with Visual Studio. Software Engineering war nie spannender. Entwicklungslebenszyklus von Datenbanken

Software Engineering war nie spannender.

Git Flow

VS Extension for Git Flow (Branching Model)• By Jakob Ehn

• https://visualstudiogallery.msdn.microsoft.com/27f6d087-9b6f-46b0-b236-d72907b54683

Page 14: Marc Müller, 4tecture GmbH | Ognjen Bajic, Ekobit · PDF fileDemo –GitFlow with Visual Studio. Software Engineering war nie spannender. Entwicklungslebenszyklus von Datenbanken

Software Engineering war nie spannender.

masterdevelopfeature-xfeature-y release-1.0 hotfix

Page 15: Marc Müller, 4tecture GmbH | Ognjen Bajic, Ekobit · PDF fileDemo –GitFlow with Visual Studio. Software Engineering war nie spannender. Entwicklungslebenszyklus von Datenbanken

Software Engineering war nie spannender.

Demo – GitFlow with Visual Studio

Page 16: Marc Müller, 4tecture GmbH | Ognjen Bajic, Ekobit · PDF fileDemo –GitFlow with Visual Studio. Software Engineering war nie spannender. Entwicklungslebenszyklus von Datenbanken

Software Engineering war nie spannender.

Entwicklungslebenszyklus von Datenbanken richtig behandeln

Datenbankobjekte versionieren

Änderungen in isolierten Umgebungen verwalten und testen

Änderungen in eine andere Umgebung mit Hilfe von dem

Versionsverwaltungssystem übernehmen

Versionsverwaltung der Oracle Datenbankobjekte

Page 17: Marc Müller, 4tecture GmbH | Ognjen Bajic, Ekobit · PDF fileDemo –GitFlow with Visual Studio. Software Engineering war nie spannender. Entwicklungslebenszyklus von Datenbanken

Software Engineering war nie spannender.

Versionsverwaltung der Oracle Datenbankobjekte

SQL Developer

VS Tools for Oracle

TOAD for Oracle Source Control for Oracle

Datenbankobjekte werden

versioniert?

nur SQL Skripte

Verlinkung von changesets

mit Work Items?

Unabhängig von der

Client-Anwendung?

TFS VC und/oder GIT? TFS VC und GIT Nur TFS VC TFS VC, GIT in Beta

Page 18: Marc Müller, 4tecture GmbH | Ognjen Bajic, Ekobit · PDF fileDemo –GitFlow with Visual Studio. Software Engineering war nie spannender. Entwicklungslebenszyklus von Datenbanken

Software Engineering war nie spannender.

• Entwicklung in der Dev Datenbank

• Übernahme der Änderungen in die

Main Datenbank

Demo – TOAD für Oracle

Page 19: Marc Müller, 4tecture GmbH | Ognjen Bajic, Ekobit · PDF fileDemo –GitFlow with Visual Studio. Software Engineering war nie spannender. Entwicklungslebenszyklus von Datenbanken

Software Engineering war nie spannender.

Build / Community Build Extensions

• Workflow Extensions / Activities sind kompliziert

• Community Build Extensions• https://github.com/tfsbuildextensions/CustomActivities

• Pragmatische Build Anpassungen mittels PowerShell• PowerShell ist zukunftssicher

Page 20: Marc Müller, 4tecture GmbH | Ognjen Bajic, Ekobit · PDF fileDemo –GitFlow with Visual Studio. Software Engineering war nie spannender. Entwicklungslebenszyklus von Datenbanken

Software Engineering war nie spannender.

Community Activities• AssemblyInfo - Getting started with the AssemblyInfo activity

• AWS

• CatNetScan - Getting started with the CatNetScan activity

• ClickOnce

• Code Coverage - Failing builds based on code coverage percentage

• CodeMetric - Getting started with the CodeMetric and

CodeMetricHistory activity

• CompareLabels

• DateAndTime - Getting started with the DateTime activity

• Email - Getting started with the email activity

• ExecuteWorkflow

• ExpandVariables

• File - Getting started with the file activity

• FileCopyRemote - Getting started with FileCopyRemote

• Ftp – Getting started with Ftp activity

• FxCop - Getting started with the fxcop activity

• Guid - Getting started with the GUID activity

• Hello - A sample to show basic structure of an activity, just writes a

message to the build log

• HyperV - Getting started with the Hyper-V activity

• IIS7

• ILMerge

• InvokePowerShellCommand – Getting started with the

InvokePowerShellCommand activity

• InvokeRemoteScript - Getting started with InvokeRemoteScript

• IsBuildRunning

• IsSourceChanged

• LabManagement• CheckIfEnvironmentIsLocked

• GetEnvironment

• GetEnvironmentLockedByBuildNumber

• ListEnvironments

• ListLabSystems

• LockEnvironment

• PauseEnvironment

• RenameSnapshot

• ShutdownEnvironment

• UnlockEnvironment

• WaitForEnvironmentToBecomeAvailable

• nUnit – Getting started with the nUnit activity

• RoboCop - Getting started with the RoboCop activity

• SetBuildAgentStatus

• SharePointDeployment – Getting started with the

SharePointDeployment activity

• SSH

• Sonar - Getting started with the Sonar activity

• SPDisposeCheck – Getting started with the SPDisposeCheck activity

• SqlExecute

• StatLight

• StyleCop – Getting started with the StyleCop activity

• TFS Activities• AssociateMergedChangesetsAndWorkItems - Getting started with

AssociateMergedChangesetsAndWorkItems

• AgentSettingsTags - Add and remove Tags during the build for Agent Settings

• BuildAgentTags - Add and remove Tags from a build agent

• BuildReport

• BuildStepDuration - Getting Started with BuildStepDuration activity

• BuildWorkspace

• GetBuild

• GetBuildAgentMachineName - Get the physical machine name of and agent

• GetBuildController

• GetBuildDefinition

• GetBuildServer

• GetChangeset

• GetChangesetItem

• GetCodeCoverageTotal - Getting Started GetCodeCoverageTotal activity

• GetLastGoodBuild

• GetLatestBuildDetail

• GetLatestChangeSet

• GetLocalWorkspace

• GetMSBuildProperties

• GetPendingChanges

• GetValueFromRegistry

• GetVersionControlLabel

• GetWebAccessUrl

• QueueBuild

• QueryBuildAgentStatus

• SetBuildAgentStatus

• StopBuild

• TFSSource

• TFSVersion - Getting started with the TfsVersion activity

• VB6 - Getting started with the VB6 activity

• VirtualPC - Getting started with the VirtualPC activity

• VSDevEnv

• Windows Azure - Getting started with the Windows Azure activities

• WriteToFile - Getting started with the writetofile activity

• Wmi

• WorkItemTracking

• XML

• XMLFile

• Zip - Getting started with the Zip activity

Page 21: Marc Müller, 4tecture GmbH | Ognjen Bajic, Ekobit · PDF fileDemo –GitFlow with Visual Studio. Software Engineering war nie spannender. Entwicklungslebenszyklus von Datenbanken

Software Engineering war nie spannender.

Build Skript mit VariablenSet-AssemblyVersionNumbers

$env:TF_BUILD_BUILDNUMBER

$env:TF_BUILD_SOURCESDIRECTORY

$digitsSetInAssemblyVersion

Powershell Build Extensions

Page 22: Marc Müller, 4tecture GmbH | Ognjen Bajic, Ekobit · PDF fileDemo –GitFlow with Visual Studio. Software Engineering war nie spannender. Entwicklungslebenszyklus von Datenbanken

Software Engineering war nie spannender.

Demo – PowerShell Build Extensions

Page 23: Marc Müller, 4tecture GmbH | Ognjen Bajic, Ekobit · PDF fileDemo –GitFlow with Visual Studio. Software Engineering war nie spannender. Entwicklungslebenszyklus von Datenbanken

Software Engineering war nie spannender.

Page 24: Marc Müller, 4tecture GmbH | Ognjen Bajic, Ekobit · PDF fileDemo –GitFlow with Visual Studio. Software Engineering war nie spannender. Entwicklungslebenszyklus von Datenbanken

Software Engineering war nie spannender.

Zeiterfassung mit TFS/VSODEFINIEREN

LIEFERN

BETRIEB

MEAN TIME TO REPAIR

CYCLE TIME

Sprint Monitor

Page 25: Marc Müller, 4tecture GmbH | Ognjen Bajic, Ekobit · PDF fileDemo –GitFlow with Visual Studio. Software Engineering war nie spannender. Entwicklungslebenszyklus von Datenbanken

Software Engineering war nie spannender.

Imaginet TimeSheet

SSW TIMEPRO

TFS ASAP

TFS TIMETRACKER

Zeiterfassung mit TFS/VSO

Page 26: Marc Müller, 4tecture GmbH | Ognjen Bajic, Ekobit · PDF fileDemo –GitFlow with Visual Studio. Software Engineering war nie spannender. Entwicklungslebenszyklus von Datenbanken

Software Engineering war nie spannender.

Zeiterfassung Lösungen für TFS/VSO

Imaginet

TimeSheet

SSW TIMEPRO TFS TIMETRACKER TFS ASAP

Lokaler TFS und

Visual Studio Online nur lokaler TFS Server nur lokaler TFS Server

Eingebettet in Web

Access?

Die Zahlen können

automatisch

ermittelt werden?

Freie Lizenz/Trial?Frei

bis 5 Anwender

Frei

bis 5 Anwender30 Tage Trial 30 Tage Trial

Page 27: Marc Müller, 4tecture GmbH | Ognjen Bajic, Ekobit · PDF fileDemo –GitFlow with Visual Studio. Software Engineering war nie spannender. Entwicklungslebenszyklus von Datenbanken

Software Engineering war nie spannender.

Demo – Zeiterfassung mit TFS/VSO

Page 28: Marc Müller, 4tecture GmbH | Ognjen Bajic, Ekobit · PDF fileDemo –GitFlow with Visual Studio. Software Engineering war nie spannender. Entwicklungslebenszyklus von Datenbanken

Marc MüllerPrincipal Consultant, [email protected]@muellermarc

4tecture GmbHAathalstrasse 84CH-8610 Usterwww.4tecture.ch

Ognjen BajicSenior Consultant, VS ALM [email protected]@ognjenb

Ekobit d.o.o.Koturaska 69HR-10000 Zagrebwww.ekobit.hr