Gerrit und Jenkins ein Traumpaar für Pre-Tested Commit



Ähnliche Dokumente
Gerrit und Jenkins ein Traumpaar für Pre-Tested Commit

Pre-tested commit 2.0 mit Gerrit und Jenkins

Effektiver Einsatz von Code-Reviews

Auswahl eines Continuous Integrationsservers

Atlassian Git Essentials Nahtlose Entwicklungsworkflows aus einer Hand

Praktikum Ingenieurinformatik (PI)

Brauche ich ein DVCS?

Erfolgreicher Ums9eg auf Git

Versionsverwaltung mit SVN

AGILE APPLICATION LIFECYCLE MANAGEMENT IM ATLASSIAN ECOSYSTEM

Konfiguration Management System. Konfiguration Management System. Versionierung Parallele Entwicklung Workspace

Issue Tracker & Wiki

Deployment Deployment Seite 1 / 25

Einführung Git Interna Workflows Referenzen. Git. Fast Version Control System. Michael Kuhn

Moodle aktuell halten mit Git

Torsten Flatter inovex GmbH. "Git.NET" gibt's nicht?

Kurzanleitung zu. von Daniel Jettka

Versionsverwaltung mit git. Christoph Knabe FB VI

End-to-End Agility Sind Sie schon agil genug? Mag. Christoph Leithner

Mercurial. or how I learned to stop worrying and love the merge. Ted Naleid IAIK

Anleitung Redmine. Inhalt. Seite 1 von 11. Anleitung Redmine

Last- und Stresstest mit the Grinder 3

Software Engineering in der Praxis

Qualitätssicherung leicht gemacht: Open Source Tools sinnvoll einsetzen und verzahnen

Von SVN zu Git. Daniel Willmann cbna

Lokale Installation von DotNetNuke 4 ohne IIS

Effektiver Einsatz von Code-Reviews

Inhaltsverzeichnis. 1 Einleitung. Literatur. 1.1 CVS (Concurrent Version System) [Pru03, Zee02, Ced05]

Anleitung Redmine. Inhalt. Seite 1 von 11. Anleitung Redmine

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Branching und Merging mit Visual Studio Team System

Konfigurationsdateien mit Git verwalten

Programmieren 2 06 Git-Teamwork und Egit

Einführung in Subversion

Iterativ. Inkrementell

Relution Enterprise App Store. Mobilizing Enterprises. 2.6 Release Note

Internet online Update (Internet Explorer)

Bekannte Tools in einem agilen Ansatz. Frank Schwichtenberg SourceTalkTage 2013 Göttingen,

FS cs108 Programmierpraktikum Subversion. Lukas Beck Cedric Geissmann Alexander Stiemer

Git in großen Projekten

Git II. Dezentrale Versionsverwaltung im Team

Zeig mir deinen Code!

Gliederung. 1. That s Radiant 2. User Interface 3. Rollen 4. Installation 5. Extensions 6. Fazit

UserManual. Handbuch zur Konfiguration einer FRITZ!Box. Autor: Version: Hansruedi Steiner 2.0, November 2014

Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten

Versionsverwaltung GIT & SVN. Alexander aus der Fünten. Proseminar: Methoden und Werkzeuge, SS Lehrstuhl i9, Prof. Dr. T.

Einreichung zum Call for Papers

desk.modul : ABX-Lokalisierung

XING und LinkedIn-Integration in das erecruiter-bewerberportal

git & git-flow Jens Sandmann Warpzone Münster e.v. Jens Sandmann (WZ) git & git-flow / 31

4D Server v12 64-bit Version BETA VERSION

Benutzerhandbuch. bintec elmeg GmbH. Benutzerhandbuch. be.ip. Workshops. Copyright Version 1.0, 2015 bintec elmeg GmbH

Migration von Subversion nach Mercurial und Einsatz dezentraler Versionskontrolle in Unternehmen

Verkaufen und noch mehr verdienen mit

Internet Explorer Version 6

1. Zugriff des Autostarts als Dienst auf eine Freigabe im Netz

Download unter:

Apache Subversion (SVN)

Websites mit Dreamweaver MX und SSH ins Internet bringen

Support-Tipp Mai Release Management in Altium Designer

Effektiver Einsatz von Code-Reviews

Lehrveranstaltung Grundlagen von Datenbanken

Versionskontrolle. Verteilte Versionskontrollsysteme. Richard Madsack. 25. November Versionskontrolle. Richard Madsack.

Struts 2 Das Imperium schlägt zurück?

Open Source. Hendrik Ebbers 2015

SAP Software Engineering live Agile! Agiles Projektmanagement und Clean Code im SAP-Umfeld

Sichere Anleitung Zertifikate / Schlüssel für Kunden der Sparkasse Germersheim-Kandel. Sichere . der

BlueEvidence Services in Elexis

Versionskontrolle mit Subversion

Reporting Services und SharePoint 2010 Teil 1

Control-M Workload Change Management 8

estos UCServer Multiline TAPI Driver

Powermanager Server- Client- Installation

Herzlich willkommen bei der Installation des IPfonie -Softclients!

Installationsanleitung. Installieren Sie an PC1 CESIO-Ladedaten einschl. dem Firebird Datenbankserver, wie in der Anleitung beschrieben.

Microsoft SharePoint 2013 Designer

GitLab als alternative Entwicklungsplattform zu Github.com

Einspielanleitung für das Update DdD Cowis backoffice DdD Cowis pos

Der Weg zur eigenen App

Cockpit 3.4 Update Manager

Internet online Update (Mozilla Firefox)

Anwendungshinweis Nr. 12. Wie konfiguriere ich redundante Serververbindungen

Crashkurs Subversion / Trac / Provisioning. Jan Zieschang, , Berlin

EOS goes JIRA. Jens Backmeier, EOS IT Services. Ein Erfahrungsbericht aus erster Hand. With head and heart in finance

IntelliJ IDEA. Gliederung. Was ist IntelliJ IDEA? Lizenzmodell Warum IntelliJ einsetzen? IntelliJ und Eclipse Demo. Blick über den Eclipse-Tellerrand

SAP NetWeaver Gateway. 2013

ICS-Addin. Benutzerhandbuch. Version: 1.0

Schritt-für-Schritt-Anleitung So verschlüsseln Sie Ihr -Konto in Outlook 2003

Git-Workflows im Alltag

SSL-VPN unter Android mit Junos Pulse Stand: 10. Februar 2015

Abhängigkeiten und Git

Open Source als de-facto Standard bei Swisscom Cloud Services

HSR git und subversion HowTo

Anleitung mtan (SMS-Authentisierung) mit SSLVPN.TG.CH

Anlegen eines virtuellen http Server unter Exchange 2003 mittels HOSTNAME

Die Projek*ools. Files, Git, Tickets & Time

Konfigurationsbeispiel USG

Transkript:

und ein Traumpaar für Pre-Tested Commit Orientation in Objects GmbH Weinheimer Str. 68 6809 Mannheim Steffen Schäfer Steffen Schluff Version:.0 www.oio.de info@oio.de Gliederung Pre-tested commit und Pre-tested commit mit und

Splendid isolation () Klassischer Wunsch: Isolation größerer Entwicklungsaufgaben mit Gewährleistung einer sauberen Hauptentwicklungslinie The key which opens real [ ] parallel development are branches. Branch ist ein sich abspaltender neuer Entwicklungszweig Verteilte Versionsierungstools (DVCS) erleichtern Branches deutlich Branches sind Grundlage der meisten DVCS Workflows Splendid isolation () Branch A Hauptlinie (Head) Branch B 4

Here be dragons () Branch A Big Scary Merge Hauptlinie (Head) Branch B 5 Here be dragons () Merge ist das erneute Zusammenführen von Branches Branches können sich textuell und semantisch unterscheiden It s [ ] particularly semantic conflicts that make big merges scary. Stabilität der Hauptentwicklungslinie darf nicht leiden 6

Are you the Key? () Branch A Gatekeeper Hauptlinie (Head) Gatekeeper Branch B 7 Are you the Key? () Gatekeeper garantiert Stabilität des Heads Bezeichnung kann variieren (z.b. Integrator) Besitzt als einziger Schreibrechte in der Hauptentwicklungslinie Gatekeeper kann Mensch oder Maschine sein Oder beides: Mensch prüft erst nach Maschine Auch mehrere Menschen möglich: Peer Code Review einer Gruppe Wunsch Saubere Hauptentwicklungslinie ist nicht DVCS spezifisch Änderungen vor Commit als persönlichen Gateway prüfen In diversen CI Servern bereits verfügbar ( pre-tested commit ) 8 4

Pre-tested commit Alice Gateway server 4 VCS Benutzer schickt Änderungen zum Testen an Gateway Gateway testet VCS Stand mit Änderungen Gateway sendet Testergebnis an Benutzer Commit der Änderungen durch Benutzer wenn Testergebnis OK 9 Gliederung Pre-tested commit und Pre-tested commit mit und 0 5

Been there, done that Tool Results CI Server Update VCS Publish Commit CI Server Result Page Inform Developer Team, at your service CI-Server Open Source Durch Plugins erweiterbar Vielzahl vorhandener Plugins Quelle: http://jenkins-ci.org 6

Code Review Werkzeug für Git Entstand im Kontext des Android Projektes Wurzeln liegen in Rietveld (SVN Code Reviews) Review der Änderungen vor Integration in den Entwicklungszweig Stärke gegenüber anderen Tools Fungiert selbst als Git Server Transparent für den Client Bekanntes Client Tooling nutzbar Rechtekonzept(!) Client Git-Repo - Workflow 4 7

- Workflow change 5 - Workflow change 6 8

- Workflow change 7 Trigger Plugin Beinhaltet spezifische Erweiterungen für Neuer Trigger für Erlaubt das Anstoßen von s bei Erzeugung von s Erweitert Konfiguration für Git Repo Zugriff Ermöglicht einen auf Basis von s Gibt nach dem Feedback zum Change Summe: Jobs zum Bauen von Changes nun möglich 8 9

+ - Workflow 9 + - Workflow change 0 0

+ - Workflow change Trigger + - Workflow change Trigger

+ - Workflow change Trigger 4 + - Workflow 5 change Trigger 4 4

+ - Workflow 5 change 6 branch build Trigger 4 5 Demonstration Erzeugung von Changes über Trigger Integration von Changes in den Entwicklungszweig 6

Gliederung Pre-tested commit und Pre-tested commit mit und 7 Wo ist jetzt der Pre-Tested commit? 5 change 6 branch build Trigger 4 8 4

Pre-tested commit mit und 5 change 6 branch build Trigger 9 Pre-tested commit mit und 5 change 6 +4 branch build Trigger Neuer -Schritt 0 5

Give me the grizzly details Weiterer Schritt Typ: Shell ssh -p 948 <GERRIT_USER>@<HOST> gerrit approve --verified + - -code-review + --project <PROJECT_NAME> --submit $GERRIT_PATCHSET_REVISION Pre-tested commit - Wer macht das noch? IntelliJ + Teamcity Vorreiter in diesem Bereich Tool-abhängiger Ansatz Abschließende Integration in das Repository erfolgt durch die IDE http://www.jetbrains.com/teamcity/features/delayed_commit.html Bamboo 4.0 Gatekeeper für Feature Branches (Teil von Automatic Branch Merging) http://www.atlassian.com/software/bamboo/overview/dvcs Hudson / Konzept im Wiki https://wiki.jenkins-ci.org/display/jenkins/designing+pre-tested+commit 6

Fazit Realisierung von Pre-tested commits leicht möglich Rein Server-seitiger Workflow, keine Bindung an spezielle Clients Pre-tested commits für alle sichtbar Und leicht lokal reproduzierbar (cherry-pick) Toolstack ist Open Source Free speech and free beer Pretested commit auf Basis von Somit Code Review auf Wunsch nutzbar Mehr von OIO zum Thema Schulung: Versionsverwaltung mit Git http://www.oio.de/git-schulung-versionsverwaltung-seminar-dvcs-training.htm Schulung: Hudson Grundlagen http://www.oio.de/schulung-hudson-seminar-continuous-integration-trainingjenkins.htm/ JAX 0 - -Management mit marktüblichen Tools http://www.oio.de/m/konf/jax0/-management_mit_marktueblichen_toolsjax0.pdf Zeitschriften-Artikel: Optimiertes Testen http://www.oio.de/public/softwaretest/optimiertes-testen-gateways-gatekeeperkey_js_0_.pdf JAX-Vortrag: Brauch ich ein DVCS? http://www.oio.de/m/konf/jax00/verteilt-versionsverwaltung-svn-branchesjax00.pdf 4 7

Ihr Sprecher Steffen Schäfer Trainer, Berater, Schwerpunkte Web und Rich Client Entwicklung JIRA Plugin Entwicklung Tool Integration 5 Ihr Sprecher Steffen Schluff Trainer, Berater, Schwerpunkte Open Source Tooling Management Clean Code 6 8

?? Fragen??? Orientation Objects GmbH Weinheimer Str. 68 6809 Mannheim www.oio.de info@oio.de?? 7 Vielen Dank für ihre Aufmerksamkeit! Orientation in Objects GmbH Weinheimer Str. 68 6809 Mannheim www.oio.de info@oio.de 9