Configuration Management

Slides:



Advertisements
Ähnliche Präsentationen
Projekt Tools: Subversion, Wiki Nikolay Nachev Seminar StuPro cims cims.
Advertisements

PowerBuilder und SVN Erste Schritte bei der Versionsverwaltung von Softwareprojekten mit Subversion (SVN) PBUGG 2009, A. Schmidt.
Informationen ü ber den Umbau des Schulnetzes Aufgrund der Umstellung unseres Schulnetzes auf ein neues Serversystem wird Ende Juni 2010 der Zugriff auf.
1/15 UNIVERSITY OF PADERBORN Projektgruppe KIMAS – CVS Projektgruppe KIMAS CVS Daniel Karuseit.
Concurrent Versions System
Software-Projektführung
Aichinger Christian, Strasser Jürgen
Projektarbeit PHP 5.3 / MySQL & Content Management Systems
Concurrent Versions System
->Prinzip ->Systeme ->Peer – to – Peer
OOSE nach Jacobson Sebastian Pohl/ST7 Betreuer: Prof. Dr. Kahlbrandt.
Thomas Rau, Peter Brichzin Repositories zur Unterstützung von kollaborativen Arbeiten in Softwareprojekten.
IOS Entwicklung von 0 auf 100 Von Philipp Koulen Lehr- und Forschungsgebiet Ingenieurhydrologie.
Bewerbungs- eingang Bewerbungs- bearbeitung Stellenangebote VermittlungKommunikationZusatzleistungen.
By Thorsten Zisler 1 SQL Datenbank Anbindung an den Supervisor.
Records Management-Projekt. 2 Hintergrund Gesetz über die Information der Öffentlichkeit, den Datenschutz und die Archivierung vom 9. Oktober 2008 (Art.
Mitgliederzutrittsbereich (Member Access) Registrierung & Anmeldung (Login) Um bei dieser Präsentation die Diskussionspunkte, die aufgebracht werden, festzuhalten,
Webdeployment auf Cluster Seminarvortrag von Lukas Bonzelett.
Funktionsweise eines Funambolservers Natascha Graf Aachen, 01. Februar 2010.
Indico Meeting Dennis Klein 4. August Übersicht  Korrespondenz CERN  Trouble Ticket Queue  Integration GSI-Accounts  Subversion & Wiki  Todo.
H. Grottenegg 1 Geodaten – zur Prüfung bitte!. H. Grottenegg2 Um welche Prüfung gehts?  Prüfung von (Geo-)Daten gegen eine Richtlinie/Vorgabe (z.B.Naturbestand,
Kommunikation verbindet. Und wer verbindet die Kommunikation? COSYNUSconnect: Universeller Zugriff auf Unternehmensdatenbanken Ivan Dondras, IT-Consultant.
, Jens Rettig1 Einsatz von Versionsverwaltungstools im ORACLE – Umfeld Dipl.-Inform. Jens Rettig
Montagagetechnik Band 2
Software-Delivery auf Knopfdruck IBM Cloud & DevOps.
Vorbereitung einer Anforderungsanalyse für ein GUI im Kreditkarten- Processing-Umfeld Yanik Dreiling MatrNr
DOAG Regionaltreffen Agiles Business in einer mobilen Welt.
Zehn Schritte zu Linux Der Weg in eine andere Welt...
Redetext für 15 Jahre Dig it! ???. Anlässlich zu unserem 15 jährigen Bestehen der dig it! GmbH möchte ich Euch begrüßen... Zu unserem 15 jährigen Jubiläum.
Das SVN Eclipse Plugin. Wofür ist SVN gedacht? Nutzung von SVN mit Eclipse Perspektive einrichten Repository einbinden Mit dem Repository arbeiten Konflikt.
TOAD™ Die komplette Entwicklungs- und DBA- Lösung Cristian Maties.
Orxonox SVN Subversion in Orxonox: ORXONOX DevelopmentFinished Versions trunk Maintainer Version Almost always running branches Developer Version Copies.
Microsoft Azure Die Cloud-Plattform für moderne Unternehmen ModernBiz 1 Kleine und mittlere Unternehmen (KMU) wünschen sich die Möglichkeit und Flexibilität,
DEKRA Qualification. Eine Annäherung auf neun Seiten. entscheiden – machen – Wissen.
Logistikmanager(m/w)
Praktische Informatik 1
Projekt: Freie Tauchausbildungsunterlagen
Einzigartiger Impulsvortrag durch die Mischung aus Praxis und Theorie:
Wsl schon abgeschaltet Idee dahinter ist interessant und revolutionär
1 Alles, was eQuote für Ihr Business tun kann.
?.
So gelingt der digitale Wandel in einem Landwirtschaftsbetrieb
LehrerOffice 10 Vorteile.
Citavi im Prozess der wissenschaftlichen Arbeit
X-NetMES – MES mit SAP-ERP Migrations- und Einführungsszenarien
“<Titel>” Prozessbeschreibung
Lesen Sie alles darüber Microsoft SharePoint-News
Lesen Sie alles zu Microsoft SharePoint-News
Arten von Kontrollstrukturen
Willkommen bei PowerPoint
Von Wietlisbach, Lenzin und Winter
PI Infrastruktur in der Max-Planck-Gesellschaft
Diplomarbeit Thema Foto erwünscht Bearbeiter: Vorname Nachname
Behalten Sie die Übersicht bei der Wartung Ihres Maschinenparks !
Präsentation von Darleen und Michèle
Einsatzmatrix 2.0.
Bugtracker Tool.
2. MKT – Die verbale Selbstinstruktion Mo
Zwischenbericht Ihr Name.
OFFICE 365 FOCUS SESSION SHAREPOINT ONLINE 101:LERNE DIE BASICS 19. März 2018 Höhr-Grenzhausen.
Von Diana Braun und Daria Bures
Risiko – Check Erkennung von Politisch exponierten Persönlichkeiten (PeP‘s) bzw. von Personen mit Verdacht auf Geldwäsche und/oder Terrorismusfinanzierung.
Von Wietlisbach, Lenzin und Winter
Ein Wandel in der Unternehmenskultur
IBM Software Cincom Systems Erwartete 20-prozentige Verkürzung der Markteinführungszeit mit dem IBM WebSphere Liberty-Profil Die Anforderung: Das für.
- moodle – a internet based learning platform
Mathematische Grundkenntnisse
Schmock Mutter nicht ausreichend versorgt  fast verhungert Mutter bei Geburt verstorben Schmock mit Flasche aufgezogen.
 Präsentation transkript:

Configuration Management Einsatz beim Studienprojekt GraMoSET Matthias Wieland

Inhalt des Seminars Einführung in das CM Was ist CM? Was sind SCI´s? Warum ist CM wichtig? Die Vorteile durch CM. Die fünf Tätigkeitsfelder des CM. Die Ziel des CM. Tools die das CM unterstützen. Concurrent Versions System - CVS 17.11.2018 Matthias Wieland

Was ist CM? „Configuration Management is the art of identifying, organizing, and controlling modifications to the software being built by a programming team.“ Roger S. Pressman 17.11.2018 Matthias Wieland

Was sind SCI´s ? (SCI = Software Configuration Item) Es gibt folgende drei große Kategorien: Computerprogramme Dokumente Daten 17.11.2018 Matthias Wieland

Warum ist CM wichtig ? In einem Softwareprojekt gibt es ständige Änderungen. Änderungen sorgen für Konfusion Wer Änderungen nicht kontrolliert wird von ihnen kontrolliert. 17.11.2018 Matthias Wieland

Die Vorteile durch CM Einige der Vorteile durch den Einsatz von Methoden und Werkzeugen des Configuration Management: Qualitätssteigerung Transparenz des Entwicklungsverlaufs Kostenreduktion und Zeitersparnis Neue Möglichkeiten der Softwareentwicklung Qualitätssteigerung Weil die Abläufe in der Entwicklung standardisiert und fehleranfällige Routineaufgaben automatisiert werden, können erfahrungsgemäß deutliche Qualitätssteigerungen erzielt werden. Konsistenzüberprüfungen auf verschiedenen Ebenen und in unterschiedlichen Phasen helfen zudem, Fehler frühzeitig zu entdecken. Transparenz des Entwicklungsverlaufs Mittels der Versionsverwaltung wird jederzeit nachvollziehbar, wann, wer, was und für welchen Kunden verändert hat. Mehr Unabhängigkeit und Sicherheit für das Unternehmen: Kenntnisse über Strukturen, Organisation, Fehler usw. werden durch CM für alle zugänglich und so besser in der gesamten Organisation verteilt. Kostenreduktion und Zeitersparnis Die Automatisierung von Standardabläufen in der Softwareentwicklung führt zu entsprechender Zeit- und Kostenersparnis. Erhöhte Kundenorientierung und verbesserter Kundenservice Schnelleres Auftreten am Markt und zuverlässigere Releasesplanung. Reproduzierbarkeit jeder ausgelieferten Version und schnelle und problemlose Fehlerbereinigung auch älterer Versionen. Neue Möglichkeiten für die Softwareentwicklung Verteiltes Arbeiten ist nicht nur im lokalen Netz, sondern auch firmenweit, von Home-Offices aus und sogar global möglich. Paralleles Entwickeln ermöglicht die Erstellung verschiedener Varianten, Entwicklungslinien und Prototypen. Durch Configuration Management bleibt die Entwicklung trotzdem transparent und handhabbar. 17.11.2018 Matthias Wieland

Die fünf Tätigkeitsfelder des CM Identifizierung Versionskontrolle Änderungskontrolle Konfigurationsprüfung Berichterstattung Identifizierung ist basis! Bedeutet eindeutige erkennung eines SCI. Z.b. am name. Aber eine projekt und versions information wichtig. Danach kann versions und änderungskontrolle anfangen zu wirken Versionskontrolle stellt tools zur versionsverwaltung zur verfügung, Immer wenn eine neue version übergeben werden soll wird sie durch die change control überprüft. Um die qualität sicherzustellen wird in der konfigurationsp. Diese noch überprüft, z.b. durch reviews oder sc audits Damit alle beteiligten immer über alles was sie betrifft bescheid wissen werden immer entsprechende berichte generiert. Beantworten der fragen: was ist passiert, wer hat es gemacht, wann, was ist davon betroffen 17.11.2018 Matthias Wieland

Die Ziele des CM Maximieren der Produktivität Minimieren von Fehler Minimieren von Konfusionen 17.11.2018 Matthias Wieland

Teil 2 des Seminars Einführung in das CM Tools die das CM unterstützen Kommerzielle Tools Freie Tools Concurrent Versions System 17.11.2018 Matthias Wieland

Freie CM Systeme CVS - http://www.cvshome.org/ Support von Cyclic Weit verbreitet Einfach erweiterbar Aegis - http://aegis.sourceforge.net/ Basiert auf anderen Versionskontrollsystemen WISE - web-orientiert Benutzt mySQL als Datenbank Hat Projektmanagement Ansätze wie Todo-List für Entwickler letzte Pflege ca. 1996 http://aegis.sourceforge.net/ http://research.ivv.nasa.gov/projects/WISE/index.html 17.11.2018 Matthias Wieland

Kommerzielle CM Systeme Perforce kommandozeilenorientiert + GUI Vergleich mit CVS: Schneller als CVS Teuer ($600/User, aber Support) Ein commit kann bei Perforce nur komplett geschehen Perforce hat bequemeres branch merging. Perforce hat Ansätze für Bug tracking/todo Lists. alle modified Files oder keine 17.11.2018 Matthias Wieland

Teil 3 des Seminars Einführung in das CM Tools die das CM unterstützen Concurrent Versions System Grundlagen Die CVS Befehle Vereinfachungen durch WinCVS 17.11.2018 Matthias Wieland

Die Grundlagen von CVS CVS ist ein Tool zur Versionsverwaltung. Es hat ein zentrales Repository. Zentrale Themen der Versionsverwaltung mit CVS: Das Repository Versionsnummern Keywords Tags (Kennzeichnung, Namensschild... ) Mehrbenutzerunterstützung Rekursives Verhalten Branches (Zweige) Was ist CVS CVS ist ein Versionsverwaltungssystem. Es lassen sich damit Projekt jeglicher Art und Größe, nicht nur Softwareprojekte, verwalten und kontrollieren. Jeder Schritt des Projektes, bzw. jede Projektversion kann wiederhergestellt werden, wenn sie im CVS gespeichert wurde. Außerdem ist es theoretisch möglich mit einer fast unbegrenzten Anzahl von Entwicklern zu arbeiten, die über den gesamten Globus verteiltsind. Geschichtliches Am Anfang eines (Software-)Projektes standen häfig einige Probleme:     -> viele Mitarbeiter an einem Projekt arbeiten zu lassen, (im OpenSource-Bereich häufig wechselnde Entwickler)     -> viele Änderungen an einem Projekt verwalten diff und patch waren eine gute Lösung beim Zusammenfügen von einzelnen Dateien. Das RCS - Revision Control System war ein erster Ansatz zum Verwalten von Projekten. Das RCS war aber sehr noch eingeschränkt:     -> Dateien werden einzeln behandelt     -> Dateien müssen gesperrt und wieder freigegeben werden     -> nicht netzwerkfähig Hier kommt CVS ins Spiel. 1986 von Dick Grune entwickelt und veröffentlicht, war CVS nur als eine Sammlung von Skripten zum Ergäzen und Vereinfachen des RCS-Systems gedacht. 1989 nahm sich Brian Berliner der Sache an und schrieb CVS in C neu. Nur wenig später fügte Jeff Polk weitere Schlüsselfunktionen hinzu. Die Beziehung zum RCS-System ist noch daran zu erkennen, daß das CVS zur Speicherung der History auf das RCS-Format zurückgreift, und am Anfang sogar das RCS brauchte, um die Dateien einzulesen. Neu war nun zum Beispiel, daß ganze Verzeichnisse als Projekt verwaltet werden konnten und nicht Dateien als einzelne Einheiten betrachtet wurden. Außerdem war es nun möglich frei, sogar mehrere Personen gleichzeitig, an den Projekten zu arbeiten. Das Sperren und wieder Freigeben eines Projektes, wie es beim RCS noch üblich war, fiel weg. Das CVS verwaltet dabei die Zugriffe, spürt Konflikte auf und meldet diese dem Benutzer, der diesen Konflikt ausgelöst hat. Anfang der 90er machte Jim Kingdon das CVS netzwerkfähig. Nun konnten Entwickler direkt über das Internet auf die Archive zugreifen. Im Laufe der Zeit ist CVS zur Nummer eins der Verwaltungssysteme im OpenSource-Bereich geworden, aber auch in der kommerziell eingestellten Software-Industrie besitzt das CVS einen hohen Stellenwert. Features: Concurrent access by multiple developers Multiple development lines in a single repository Grouping sources into modules Symbolic source tagging Diffs between versions Configurable logging support Binary files support Repository event triggers 17.11.2018 Matthias Wieland

Das Repository Zentraler Server für die Daten. Möglichkeiten des Zugriffs auf den Server über: Lokales Verzeichnis Secure Shell Passwort Server 17.11.2018 Matthias Wieland

Die Versionsnummern werden nach folgendem Schema vergeben: 1.1 1.2 1.3 Tips: Bei einem checkout bekomme man immer die neueste Version Um alte Änderungen zu entfernen kann man cvs update -j 1.4 -j 1.2 aufrufen 1. Revision 2. Release Default version 1.1 3.2.1 3.2.2 3.2.3 17.11.2018 Matthias Wieland

Keywords $Author$ Name der Person, die das Dokument eingecheckt hat. $Date$ Tag, an dem das Dokument eingecheckt wurde. $Name$ Projektname $Log$ Die Log-Message beim einchecken wird hier eingesetzt. $Revision$ Version des Dokuments 17.11.2018 Matthias Wieland

Beispiel für Keywords 17.11.2018 Matthias Wieland

Tags hallo.txt Word.doc cm.ppt 1.1 1.1 1.1 Tag: Abgabe 1.2 1.2 1.2 1.3 Der Umgang mit den Versionsnummern in den Dateien kann (und wird) mit der Zeit sehr unpraktisch werden, da die Nummern für jede Datei einzeln vergeben werden. Darum gibt es bei CVS symbolische Tags. Auf diese Weise lassen sich Dateien unterschiedlicher Versionsnummer zusammenfassen, so daß sie später auch zusammen wieder aus dem Repository gewonnen werden können. cvs tag rel-0-4 backend.c 1.4 1.4 1.4 17.11.2018 Matthias Wieland

Mehrbenutzerunterstützung Arbeiten mehrere Benutzer gleichzeitig an einem Dokument kann es zu Konflikten kommen. Methoden mit diesem Problem umzugehen: Exklusive Locks Kombination aus „watch“ und „edit“ advisory locks: implemented via cvs edit and cvs watch. Get notification when someone edits or checks in the file. all-o-nothing advisory locks: cvs edit does not succeed if files are already edited by someone else. Implemented using a patch to cvs edit exclusive locks (RCS style): implemented via cvs admin. You cannot commit unless you’ve locked the file. One lock per file per branch. 17.11.2018 Matthias Wieland

Rekursives Verhalten Fast jeder CVS Befehl wird rekursiv ausgeführt, wenn er auf ein Verzeichnis angewendet wird. Das default Ziel eines Befehls ist „ . “ z.B. cvs update cvs update . Das rekursive Verhalten kann natürlich auch abgeschaltet werden. z.B. cvs update –l . 17.11.2018 Matthias Wieland

Branches Branch 1.2.2.3.2 Branch 1.2.2 Hauptzweig Branch 1.2.4 1.2.2.3.2.1 Branch 1.2.2 1.2.2.1 1.2.2.2 1.2.2.3 1.1 1.2 1.3 Hauptzweig Arbeiten zwei Benutzer gleichzeitig an demselben Modul , so müßten sie entweder auf den Komfort verzichten, regelmäßig Versionen ihrer Arbeit im Repository abzulegen oder regelmäßig einen Abgleich der Arbeiten durchführen, was gerade in der Entwicklungsphase lästig und zeitaufwendig sein kann. CVS bietet hierfür die Möglichkeit, vom Hauptzweig der Entwicklung einen Zweig (Branch) abzuspalten und unabhängig von anderen daran zu arbeiten. Irgendwann wird ein Entwicklungszweig wieder in den Hauptzweig integriert werden. Das Vorgehen ist ähnlich wie beim Ein- und Ausfügen von Änderungen: Im Hauptzweig gibt man lediglich cvs update -j branch-1 und in bekannter Weise werden alle Änderungen in branch-1 in den Hauptzweig integriert. Wenn alle Konflikte beseitigt wurden, müssen die Änderungen wieder mit cvs commit ins Repository übertragen werden. Branch if: to create sustaining (patch) releases to have multiple development lines from a single repository to do experimental development to merge later or forget about it to keep temporary state of development without affecting builds 1.2.4.1 1.2.4.2 Branch 1.2.4 17.11.2018 Matthias Wieland

Die CVS Befehle 1 checkout Dokumente zum bearbeiten in das lokale Arbeitsverzeichnis kopieren. update Dokumente im Arbeitsverzeichnis auf den neuesten Stand bringen commit Änderungen an das CVS übergeben. ( –m ) add Neue Datei in das CVS aufnehmen remove Datei aus CVS löschen 17.11.2018 Matthias Wieland

Die CVS Befehle 2 status Status der lokalen Kopie anzeigen. tag Dateien mit einem Tag versehen, oder eine Branch erzeugen. watch Ein File überwachen (watchers) edit/unedit Eine Datei zum arbeiten markieren. release Dokumente aus dem Arbeitsverzeichnis entfernen. ( -d ) diff Unterschiede zwischen verschiedenen Versionen anzeigen 17.11.2018 Matthias Wieland

Update Output U, P Update ausgeführt. A Neue Datei die noch nicht eingecheckt wurde. R Datei gelöscht, wird bei nächsten commit ausgeführt. M Die Datei im Arbeitsverzeichnis wurde verändert, oder sie wurde mit einer neuen Version aus dem Repository gemerged. C Es traten Konflikte beim mergen auf. ? Unbekannte Datei. 17.11.2018 Matthias Wieland

Vereinfachungen durch WinCVS Alle Befehle mit der Maus ausführbar. Funktioniert nun auch im GS-Pool richtig. www.wincvs.org 17.11.2018 Matthias Wieland

Vielen Dank für Ihre Aufmerksamkeit. Ende des Seminars Vielen Dank für Ihre Aufmerksamkeit. Matthias Wieland