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)

Erfolgreicher Ums9eg auf Git

AGILE APPLICATION LIFECYCLE MANAGEMENT IM ATLASSIAN ECOSYSTEM

Brauche ich ein DVCS?

Versionsverwaltung mit SVN

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

Deployment Deployment Seite 1 / 25

Moodle aktuell halten mit Git

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

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

Issue Tracker & Wiki

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

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

Iterativ. Inkrementell

Kurzanleitung zu. von Daniel Jettka

Versionsverwaltung mit git. Christoph Knabe FB VI

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

Git II. Dezentrale Versionsverwaltung im Team

Lokale Installation von DotNetNuke 4 ohne IIS

Branching und Merging mit Visual Studio Team System

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

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

Zeig mir deinen Code!

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

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

Einreichung zum Call for Papers

Database Change Management für Continuous Delivery. Diana Lander und Andreas Falk NovaTec Consulting GmbH

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

Software Engineering in der Praxis

Von SVN zu Git. Daniel Willmann cbna

Git-Workflows im Alltag

Abhängigkeiten und Git

FS cs108 Programmierpraktikum Subversion. Lukas Beck Cedric Geissmann Alexander Stiemer

Git in großen Projekten

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

Einführung in Subversion

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

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

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

Relution Enterprise App Store. Mobilizing Enterprises. 2.6 Release Note

Programmieren 2 06 Git-Teamwork und Egit

desk.modul : ABX-Lokalisierung

XING und LinkedIn-Integration in das erecruiter-bewerberportal

Internet online Update (Internet Explorer)

4D Server v12 64-bit Version BETA VERSION

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

Verkaufen und noch mehr verdienen mit

Download unter:

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

Support-Tipp Mai Release Management in Altium Designer

Android-Testautomatisierung mit Robotium

Build-Pipeline mit Jenkins

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

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

Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten

Versionskontrolle mit Subversion

BlueEvidence Services in Elexis

estos UCServer Multiline TAPI Driver

Herzlich willkommen bei der Installation des IPfonie -Softclients!

Powermanager Server- Client- Installation

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

Konfigurationsdateien mit Git verwalten

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

GitLab als alternative Entwicklungsplattform zu Github.com

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

Entwicklungsumgebungen. Packer, Vagrant, Puppet. Alexander Pacnik Mannheim,

SAP NetWeaver Gateway. 2013

Last- und Stresstest mit the Grinder 3

Migration von Subversion nach Mercurial und Einsatz dezentraler Versionskontrolle in Unternehmen

Websites mit Dreamweaver MX und SSH ins Internet bringen

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

Internet Explorer Version 6

HSR git und subversion HowTo

Lehrveranstaltung Grundlagen von Datenbanken

Anlegen eines virtuellen http Server unter Exchange 2003 mittels HOSTNAME

Effektiver Einsatz von Code-Reviews

Konfigurationsbeispiel USG

WSM go! Einblicke und Ausblicke zur Weiterentwicklung von OpenText Web Site Management Henning Scheibner. Usergroup

Migration Howto. Inhaltsverzeichnis

Installation von NetBeans inkl. Glassfish Anwendungs-Server

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

teischl.com Software Design & Services e.u. office@teischl.com

Ökonomik der Agrar und Ernährungswirtschaft in ILIAS

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

Open Source. Hendrik Ebbers 2015

Consultant & Geschäftsführer, enpit consulting OHG ugb@enpit.de

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein: - Ein Bootimage ab Version Optional einen DHCP Server.

Apache Subversion (SVN)

Über die Internetseite Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt.

Installationsanleitung SSL Zertifikat

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

DevOps bei den ID Build-Automatisierung statt Silo-Betrieb

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

Transkript:

und ein Traumpaar für Pre-Tested Commit Orientation in Objects GmbH Weinheimer Str. 68 68309 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

Here be dragons () Branch A Big Scary Merge Hauptlinie (Head) Branch B 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 3

Are you the Key? () Branch A Gatekeeper Hauptlinie (Head) Gatekeeper Branch B 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 ) 4

Pre-tested commit 3 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 Gliederung Pre-tested commit und Pre-tested commit mit und 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 7

- Workflow change - Workflow change 8

- Workflow 3 change 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 9

+ - Workflow + - Workflow change 0

+ - Workflow change Trigger + - Workflow change 3 Trigger

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

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

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

Pre-tested commit mit und 5 change 6 3 branch build Trigger Pre-tested commit mit und 5 change 6 3+4 branch build Trigger Neuer -Schritt 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 Links Continuous vs. Controlled Integration http://www.ddj.com/architect/0597960 MF Bliki: FeatureBranch http://martinfowler.com/bliki/featurebranch.html http://jenkins-ci.org/ http://code.google.com/p/gerrit/ Trigger https://wiki.jenkins-ci.org/display/jenkins/+trigger 7

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

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