Daily Build Verfahren für erfolgreiche Continuus Projekte 1 Buildprozesse mit Perl.

Slides:



Advertisements
Ähnliche Präsentationen
Juristische Implikationen täglicher Anwendungen Computer und Recht Seminar Januar 2000 Thomas Heymann.
Advertisements

Programmieren im Großen von Markus Schmidt und Benno Kröger.
für das Schulnetz der BS Roth
Einführung von Team System Ein Vorgehensvorschlag
Pflege der Internetdienste
4. Serverbasierte Programmierung: Perl 4.1Grundlagen 4.1.1HTTP-Server und CGI-Schnittstelle 4.1.2Formulare 4.1.3Ein einfaches Perl Programm 4.2Interaktion.
SAP R/3 - Speichermanagement
NATURAL Web-Integration 1 / 27/28-Feb-98 TST NATURAL Web-Integration Arbeitskreis NATURAL Süd Theo Straeten SAG Systemhaus GmbH Technologieberater Stuttgart.
Kapitel 4 Syntaktische Analyse: LR Parsing.
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Aufgaben des Testens Vergleich des Verhaltens einer Software mit den an sie gestellten.
Dateihandles Um in Perl eine bestimmte Datei zum Lesen, Schreiben oder Anhängen zu öffnen, benötigt man so genannte Dateihandles. Ein Dateihandle ist der.
K-Modeler Engineering
Oracle WebServer - Einführung. © Prof. T. Kudraß, HTWK Leipzig Oracle Web Application Server HTML WebServer ® File system Static HTML PL/SQL Packages.
Das Build-Tool ANT ETIS SS05. ETIS SS05 - Nadine FröhlichANT 2 Gliederung Motivation Build - Datei –Allgemeiner Aufbau –Project –Target –Task –Properties.
Der Testprozess als Bestandteil des SE Prozesses:
Fehlerabdeckung/ Regressionstest1 Testen und Analysieren von Software Fehlerbehebung und Re-Engineering Fehlerabdeckung/ Regressionstest Vortragende:
– Team 2 Aktueller Projektleiter: Christian Krapp
Brandenburgische Technische Universität Cottbus Program Profiling Andrzej Filipiak Übung Testen von Software SoSe 2006.
Die Skriptsprache Perl (2) Wolfgang Friebel DESY Zeuthen.
Software Design Patterns Extreme Programming (XP).
Seite Common Gateway Interface. Konzepte. Übersicht 1Einleitung 2Was ist CGI? 3Wozu wird CGI verwendet? 4Geschichtlicher Überblick 5Grundvoraussetzungen.
Grundschutztools
Ralf KüstersDagstuhl 2008/11/30 2 Ralf KüstersDagstuhl 2008/11/30 3.
IBM Workplace Forms - In Kürze © 2007 IBM Corporation XML basierte elektronische Formulare: Effizienzsteigerung und Kostenreduktion durch Automatisierung.
Mehr Qualität und schnellere Marktreife durch effiziente Softwaretests
Welche Funktion hat die php.ini? -Beinhaltet wichtige Einstellungen für PHP. Genannt seien hier u.a. der Speicherort von Cookies, Parameter der Kompilierung,
Aichinger Christian, Strasser Jürgen
Generelles POVs müssen immer lizenziert werden
© VMware Inc. Alle Rechte vorbehalten. My VMware Einfacheres Management von Produktlizenzen und Support Neueinführung 2012.
Automatische Übersetzungen mit Google
Schultasche Digitale Schultasche Schilw KS Alpenquai
TWS/Graph HORIZONT Produkt-Präsentation Software für Rechenzentren
Continuous Integration mit Jenkins
Patrick Schmerlaib. Scriptsprachen: sind Programmiersprachen Verzichten auf Sprachelemente Vorteile: schnelle Erstellung kleiner Programme Flexible Sprache.
Übersicht Auf den folgenden Seiten wird Ihnen anhand einer kleinen Abteilung gezeigt, wie Sie PQM an Ihre Bedürfnisse anpassen können. Mitarbeiter einrichten.
Projektarbeit PHP 5.3 / MySQL & Content Management Systems
Mit 3 Schichte zum Erfolg
HORIZONT 1 XINFO ® Das IT - Informationssystem Java Scanner HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
Cooperation unlimited © Zühlke Juni 2009 Hansjörg Scherer Folie 1 Cooperation unlimited TFS als BackEnd für Visual Studio und Eclipse.
Wilhelm Klein, März 2010 Entwickeln mit Methode Projekt Manager Projektplanung Steuerung und Kontrolle Bereitstellung (Hardware und Software) Qualitätssicherung.
© MediTECH Electronic GmbH, Wedemark Neue Produkteigenschaften der aktuellen MediTOOLs V5.x MediTECH Electronic GmbH Langer Acker 7 D Wedemark Tel.:
CGI (Common Gateway Interface)
Das Änderungssystem für TWS Definitionen
HORIZONT 1 XINFO ® Das IT - Informationssystem HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 /
HORIZONT 1 XINFO ® Das IT - Informationssystem HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 /
HORIZONT 1 XINFO ® Das IT - Informationssystem PL/1 Scanner HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
HORIZONT 1 XINFO ® Das IT - Informationssystem Assembler HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 /
HORIZONT 1 XINFO ® Das IT - Informationssystem CICS HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 /
HORIZONT 1 XINFO ® Das IT - Informationssystem Load Module HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 /
Ganzheitliches Projekt-, Ressourcen- und Qualitätsmanagement 1 Reports und AddOns Auf den folgenden Seiten wird Ihnen die Funktionsweise der Reports und.
Rationelle Vorgehensweise bei der Fiona-Antragstellung
Präsentation von Lukas Sulzer
Das IT - Informationssystem
Was mich ursprünglich von Perl überzeugt hat. Gegeben ist eine Textdatei, deren Größe unbekannt ist. Sie ist jedoch so klein, daß sie komplett in den Speicher.
Wissen praktisch ablegen
Mag. Andreas Starzer weloveIT – EDV Dienstleistungen
1 Tagesüberblick 2 Lösung Hausaufgabe/Fragen Datei- ein- und ausgabe Schleifen Vergleiche Wahrheit.
Rational Unified Process
Backup der FTP-Daten mit BYSU (Back Your Space Up von George Ruinelli) Eine mögliche Variante, um FTP- Daten bei dem Provider „All-Inkl“ zu sichern.
Danato - Strictly Confidential CMS Evaluation MODX – ein CMS für den DANATO Shop?
Attack Tool Kit (ATK) Project Marc Ruef Alle Rechte vorbehalten – Kopieren erlaubt.
Backup der MySQL-Daten bei All-Inkl Eine mögliche Variante, um MySQL- Daten bei dem Provider „All-Inkl“ zu sichern.
prof. dr. dieter steinmannfachhochschule trier © prof. dr. dieter steinmann Folie 1 vom Montag, 30. März 2015.
Tutorial Schritt 1: Über den Link im VP gelangen Sie auf die Seite
Das IT - Informationssystem
, Claudia Böhm robotron*SAB Anwendungsentwicklung mit dem Java und XML basierten Framework robotron*eXForms Simple Application Builder.
© Copyright INFORM GmbH Seminarvortrag im Studiengang Scientific Programming von Nicole Küpper am Analyse des Updatevorgangs und Auswahl.
Christoph Wirtz | Seminarvortrag EBC | Lehrstuhl für Gebäude- und Raumklimatechnik Ein Tool zum automatisierten Erstellen von Conversion Scripts.
 Präsentation transkript:

Daily Build Verfahren für erfolgreiche Continuus Projekte 1 Buildprozesse mit Perl

Build Prozesse mit Perl Folie Nr. 2 Inhalt áBuild Prozesse áDaily Build Verfahren für erfolgreiche Continuus Projekte áGenerelles Vorgehen zur Einrichtung áEinsatz von Perl áZusammenfassung

Build Prozesse mit Perl Folie Nr. 3 Ziel dieses Vortrages Aufzeigen eines möglichen Lösungsansatzes, für Buildprozesse ohne die Verwendung von Continuus Object Make Voraussetzung: Für einzelne Komponenten des Software Produktes existiert ein Makeprozess z.B. Über Unix-Make, GNU-Make o.ä. Die verwendete Programmiersprache spielt dabei keine Rolle.

Build Prozesse mit Perl Folie Nr. 4 Build Prozesse Definition: Build Prozesse sind automatisierte Abläufe, um aus Sourcen ein Software-Produkt zu erstellen. Es wird zwischen zwei Verfahren unterschieden: Mit Continuus Object Make Ohne Object Make

Build Prozesse mit Perl Folie Nr. 5 Full/Partial Build Full Build Der komplette Buildprozess wird durchlaufen. Jede Source wird neu compiliert, alle Bibliotheken des Produktes neu erstellt und das Produkt neu gelinkt. Partial Build Nur Teilprodukte werden neu erstellt. Für eine Fehlerbehebung wird z.B. nur eine Bibliothek neu übersetzt und zum Produkt neu hinzugelinkt.

Build Prozesse mit Perl Folie Nr. 6 Mögliche Probleme Full Build - Sicherste Methode, ein Produkt zu erstellen! - Zeitfaktor - Im Fehlerfall kein Full Build möglich Partial Build - notwendig für Fehlerbehebung u. Tests - Inkonsistenzen und dadurch Produktfehler - Sofern nicht unter Config. Management, nicht mehr nachvollziehbar

Build Prozesse mit Perl Folie Nr. 7 Umgebung für Build Prozesse Die in diesem Vortrag besprochenen Verfahren wurden im Client-Server Umfeld erfolgreich getestet. Betriebssysteme: Unix-Derivate, NT Vorzugsweise werden Build-Verfahren unter Unix realisiert, da hier über Cronjobs und der Shell- Umgebung einiges automatisiert werden kann. Bei reinen NT Entwicklungen ist der Einsatz problematischer, aber möglich.

Build Prozesse mit Perl Folie Nr. 8 Daily Build Verfahren für erfolgreiche Continuus Projekte Daily Build bedeutet... das Projekt ist täglich in der Lage, das Produkt komplett neu zu erstellen.... täglich zu wissen, wo das Projekt steht... sich möglichst früh auf den Tag der Auslieferung vorzubereiten.

Build Prozesse mit Perl Folie Nr. 9 Daily Build als Erfolgsfaktor (1) Tägliche Prüfung der Einstellung der Reconfigure Properties der Entwickler-Disziplin von Abhängigkeiten der Integration der Sourcen (Integrationstest) des Projekt-Standes

Build Prozesse mit Perl Folie Nr. 10 Daily Build als Erfolgsfaktor (2) Tägliche Bereitstellung eines neuen Produktes für Systemtests von Informationen –zur Buildfähigkeit des Produktes oder Teilen davon –zu Konflikten aufgrund parallel checkin o.ä. –zu Inkonsistenzen aufgrund fehlerhaft eingecheckter Sourcen –Problemzonen (bestimmte Bibliotheken o.ä.) z.B. Liste behobener Fehler

Build Prozesse mit Perl Folie Nr. 11 Daily Build als Erfolgsfaktor (3) Nutzung von Rechenzeit bei Build über Nacht (Nightly Build) vorteilhaft bei Datenbank-Anwendungen Sicherheit für den Tag X !!!

Build Prozesse mit Perl Folie Nr. 12 Generelles Vorgehen zur Einrichtung 1. Prüfung des Makeprozesses 2. Automatisierung - Build für das ganze Produkt z.B. mit Perl 3. Verknüpfung des automatischen Build mit Continuus 4. Bereitstellung von Build-Ergebnissen z.B. über Intranet (optional)

Build Prozesse mit Perl Folie Nr. 13 Makeprozess Bsp.: Abhängigkeiten bei einer C Entwicklung Local Dev. 1 Env. Local Dev. n Env. Global Dev. Env. Bei vorhandenen Libs und Headers -> local make Ansonsten Zugriff auf Globale Umgebung (Lib- u. Headerverzeichn.) Make Build Env. Reconfigure Make

Build Prozesse mit Perl Folie Nr. 14 Automatisierter Build Warum Perl? Einfache und mächtige Scriptsprache. Ideal zum Starten von Prozessen und Auswerten von ASCII-Log Files. CGI-Scripte Verfügbarkeit: NT / Unix Mögliches Verfahren: Perl-Script, welches einzelne Makeprozesse nacheinander abarbeitet und die Ergebnisse in ein Log-File schreibt.

Build Prozesse mit Perl Folie Nr. 15 Verknüpfung mit Continuus Erstellung einer Ablaufsteuerung, welche folgendes durchführt: 1. Aktualisieren der Sourcen für die Build Umgebung Reconfigure und nachfolgender Sync auf einem getrennten Continuus Build/Prepared Projekt 2. Ausführung des automatisierten Builds 3. Auswerten und Aufbereiten der Daten für das Intranet

Build Prozesse mit Perl Folie Nr. 16 Bereitstellen von Build- Ergebnissen Mögliche interessante Informationen: Welche Bibliotheken wurden nicht gebaut u. warum –Liste Good/Bad Libs –Liste unsatisfied Symbols (z.B. bei C-Projekten) Welche Sourcen/Versionen haben zum Produkt geführt Welche Fehler sind im aktuellen Produkt behoben (Unter der Voraussetzung, daß PT eingesetzt wird)

Build Prozesse mit Perl Folie Nr. 17 PWE 1 PWE n Continuus DB PWE Build Mgt. Exe / Libs Nightly: Daily Build im Überblick 2. Build 1. Reconfigure 3. Info Intranet

Build Prozesse mit Perl Folie Nr. 18 Einsatz von Perl Ich empfehle den Einsatz von Perl, da mit geringfügigen Modifikationen auch unter NT lauffähig Modularisierbar (z.B. Module für Continuus Funktionen, Make, Auswertung) Große Funktionsvielfalt schon vorhanden

Build Prozesse mit Perl Folie Nr. 19 Was muß bei der Umsetzung beachtet werden? Möglichst früh Funktionsbibliotheken anlegen Sauberer Programmierstil (mit Perl kann so programmiert werden, daß man zwei Tage später den eigenen Code nicht mehr lesen kann!) Dokumentation (Kommentare, Beschreibungen) Schrittweises Vorgehen(Bottom Up) Zuerst kleine Teilprozesse automatiseren

Build Prozesse mit Perl Folie Nr. 20 Was wird benötigt? (1) Scripte nicht nur für den Full Build erstellen Full Build bedeutet Best Case Automatismen für Partial Builds - Wie kann mitten im Prozess gestartet werden? - Sollen manuelle Eingriffe möglich sein? - Steuerung über Optionen Release-Verwaltung - Sichern von Projekten, Folder und Tasks - Releasen von Projekten

Build Prozesse mit Perl Folie Nr. 21 Was wird benötigt? (2) Kopieren von Source Bäumen - über Continuus (Reconfigure und Sync Workarea) - ggf. ohne Continuus aus einer Workarea, evtl. einfacher, da immer aus der Build-Umgebung Erstellung von Testumgebung - Kopieren der Sourcen, Executables - Debugvorbereitungen

Build Prozesse mit Perl Folie Nr. 22 Was wird benötigt? (3) Auswertung der Logfiles –Fehlerhafte Teilprodukte (Übersichten) –Konkrete Fehlermeldungen der Teilprodukte –Mögliche Behebungshinweise z.B. Unsatisfied Symbol wird von Bibliothek xyz aufgerufen Bereitstellung einer Liste aller Sourcen und zugehöriger Versionen

Build Prozesse mit Perl Folie Nr. 23 Beispiel eines Perl- Programmes Das folgende Perlprogramm liest ein File und gibt den Inhalt des Files aus. #!/usr/local/bin/perl # $file = '/etc/passwd';# Filename zuweisen open(INFO, $file);# File = ;# in Array einlesen close(INFO);# File schliessen Array ausgeben

Build Prozesse mit Perl Folie Nr. 24 Commandline Interface und Perl (1)..... # Continuus starten ccm_start(); ######## Reconfigure ausführen update_workarea ($proj_name, $rep_file); ######## # Continuus stoppen ccm_stop();

Build Prozesse mit Perl Folie Nr. 25 Commandline Interface und Perl (2) sub update_workarea { my ($PROJ_NAME)=$_; print REP_FILE `ccm reconfigure -r -p $PROJ_NAME`; print "Reconfigure beendet !!!\n"; print REP_FILE `ccm sync -p $PROJ_NAME`; print "Sync beendet !!!\n"; print " F E R T I G !!!\n"; }

Build Prozesse mit Perl Folie Nr. 26 URLs zu Perl

Build Prozesse mit Perl Folie Nr. 27 Zusammenfassung Positive Effekte durch Einsatz von Daily Build Verfahren Bessere Produktqualität –Durch tägliche Builds und Tests Schnelle Produktzyklen –Da täglich ein neues Produkt vorliegt Geringere Kosten –Der Aufwand für die Einrichtung von Daily Build Prozessen zahlt sich aus! –Schnelle Fehlerbehebung möglich Mehr Sicherheit –Fallback-Lösung, z.B. Stand letzter Tag

Build Prozesse mit Perl Folie Nr. 28 Vielen Dank für Ihre Aufmerksamkeit Noch Fragen ?