Release. Konfigurations & Versionshantering samt Subversion. Konfigurations vs Versionshantering. CI -definition. Henrik Bergström

Relevanta dokument
Har funnits nästan lika länge som datorerna. Manuell process, svarta tavlan Verktygsstöd kom tidigt redan i början på

Subversion. Laboration. Höstterminen 2008 r81. Ronny Kuylenstierna

Versionshantering med Git. Henrik Henriksson 17 april 2018

Introduktion till git

JUnit. Junit Unit Testing. JUnit 3. JUnit 3 forts. Villkorskontroller i test. Exempel JUnit3

Versionshantering. Problem som uppstår i större (samt även mindre) projekt:

Versionshantering. Jan Erik Moström

UNIX verktyg. Användbara kommandon Fil och informationssökning Tags Versionshanteringssystem

CVS-Introduktion. CyberRymden Introduktion till CVS,17 november (27) Marcus Rejås

Versionshantering. Sami Nevalainen Institutionen för informationsbehandling Åbo Akademi, FIN Åbo, Finland e-post:

CM FORUM. Introduktion till. Configuration Management (CM) / Konfigurationsledning. Tobias Ljungkvist

Tfn Telephone Kontr Checked. Revisionshistoria Revision history Rev Namn Name Datum Date Ändring Change

Configuration Management

Versionshantering med Git

CDX. Systemstöd för arbete med en klinisk rapportdatabas. SAS Forum 25sept 2003 Gunilla Sköllermo, AstraZeneca R&D

Continuous Integration med Jenkins. Linus Tolke Enea Experts

DRAFT. CVS kurs laboration 1 Checka in, ut och uppdatera. Marcus Rejås. 17 november 2002

TDP005, Projekt: objektorienterade system

Labb 1: Vad, hur, och varför?

UTVECKLINGSVERKTYG. Praktiska tips för PUM-projekten

Handledning Konfigurationsstyrning tjänstedomäner

Subversion - varför?

DI Studio nyheter

Quality and Environmental Management System

Programvara på Nada. Johan Berglund Systemgruppen, Nada

Configuration Management Vägen till ordning och reda med rätt stöd!

Editering, Kompilering och Exekvering av Javaprogram

Programmering. Hur, var, när och varför. 22 November. Lars Ohlén Tieto

Revidering av ISO Peter Allvén SIS TK-304/PostNord

Kvalitetssäkra ditt projekt med kontinuerlig integration

Software Engineering. Agneta Nilsson, PhD MPA Software Engineering Master s Programme

HANTERING AV UPS CX

Skicka drivrutin. Administratörshandbok

ISTQB Testarens ledstjärna

QC i en organisation SAST

Handledning. Konfigurationsstyrning tjänstedomäner. Version ARK_

Projektarbete. Johan Eliasson

emopluppen Användning av "Ant" Niklas Backlund Version: 1.4 ( 2002/04/26 07:27:52 UTC)

Programmering i C++ Kompilering från kommandoraden

Translation Changes in Swedish EBSCOhost Interface

ClearCase. Versionshantering

PUBLICERINGSNOTISER TRIMBLE ACCESS SOFTWARE. Version Revidering A Oktober 2013

Utfärdad av Compiled by Tjst Dept. Telefon Telephone Datum Date Utg nr Edition No. Dokumentnummer Document No.

XML+ANT+CVS+DIARY. XML: Exempel. XML: Syntax (1) Genomgång av några av de verktyg som används på kursen. <?xml version="1.0" encoding="iso "?

Policy för öppen källkod RIV Tekniska Anvisningar

Beijer Electronics AB 2000, MA00336A,

Testplanering, test-first, testverktyg

Nya möjligheter med M3 Technology. Björn Svensson, Björn Torold

Metodprov för kontroll av svetsmutterförband Kontrollbestämmelse Method test for inspection of joints of weld nut Inspection specification

Kristoffer Eriksson Christer Oscarsson Andreas Dahlberg Martin Bengtsson

Dr. Gustav Taxén MDI-Gruppen, CSC / VIC-Sthlm gustavt@kth.se

RIV TA Konfigurationsstyrning 1.0 RIV Tekniska Anvisningar

Styrteknik 7.5 hp distans: E-1000 och E-Designer

Introduktion ICAO-EASA.


Steget efter CAD Data Management. Per Ekholm

Tillgång till alla globala delar i systemet styrs av denna profil, som i sin tur kopplas till respektive användare.

Platina och kvalité. Rasmus Staberg, Teknisk direktör,

LEX INSTRUKTION REPLIKERING UPPGRADERING

Grupp Policys. Elektronikcentrum i Svängsta Utbildning AB

Import av referenser till Mendeley

Antares Användning och installation

Vad är RTCA DO-178C? och: Hur arbetar Saab med dessa krav? Lars Ljungberg, Saab AB, Avionics Systems

SWAMID. Nyttjandestatistik av SWAMID. Vad är SWAMID? Så, hur mycket används SWAMID idag? Vi vet inte.. en första demonstration!

KAP 18 SQL SERVER AGENT

PUBLICERINGSNOTISER TRIMBLE ACCESS SOFTWARE. Version Revidering A December 2013

Application Note SW

Mer om kodkvalitet. Mer om kodkvalitet. Hur kan man jobba med kodkvalité? Hur kan man jobba med kodkvalité? Hur kan man jobba med kodkvalité?

ISO med kundfokus

Risk Management Riskhantering i flygföretag

H0008 Skrivskydd FBWF

Våra tjänster [Our services] UMS Group Inc., All Rights Reserved

L0009B. Moment. Introduktion till geografiska databaser: G:\L0009B\Allmänt\IntroGeoDB.pdf (F)

Quickstart manual. Rev SHTOOL Quickstart manual Smart-House

Kompilering av Java-program med eclipse SDK för den som kan BlueJ

Hur arbetar vi praktiskt i SAG?

PROFINET MELLAN EL6631 OCH EK9300

Smartair System. TS1000 Version 4.23

Molnet ett laglöst land?

Agenda. Vad är PDM Definition Historik Nytta Trender. Viktigaste aspekter Vad har gjorts Datamodell och ändringskontroll.

Quick start manual. Smart-House Rev 2.0

Fildelning i Företag The past, present and future Richard Lindstedt Sr Product Manager

SQLs delar. Idag. Att utplåna en databas. Skapa en databas

Komma igång med Adobe Presenter ver.7

Quadri DCM Handledning för administratörer och användare i projekt som kör Quadri DCM. Version

2 Eclipse en handledning

Kursplan. IK1004 Java - Grafiska användargränssnitt med Swing. 7,5 högskolepoäng, Grundnivå 1. Java - GUI Programming with Swing - Undergraduate Level

Swedbank Mobile Loadtesting. LoadRunner Mobile App protocol

Pragmatisk programmering. Cyberrymden Marcus Rejås Pragmatisk programmering,16 december (29)

DIG IN TO. Nätverksadministration

Handbok Cervisia. Bernd Gehrmann Carlos Woelz Översättare: Stefan Asserhäll

GIT som alternativ till CVS/SVN i agila utvecklingsmiljöer

Grundläggande termer. Några olika system. F11 Grunderna i Versionshantering. Git basic. Origin. Git basic. Git basic. Local #1. Local #3.

Taking Flight! Migrating to SAS 9.2!

Support Manual HoistLocatel Electronic Locks

Eclipse en handledning

PDM Implementation & Change Management /FRN

Isolda Purchase - EDI

Transkript:

Konfigurations & Versionshantering samt Subversion Henrik Bergström henrikbe@dsv.su.se Release Exekverbar kod Installationsfiler Datafiler Setup-program Elektronisk och pappersdokumentation Info om målmiljö (OS, versioner av komponenter, andra parametrar som komp och länkningsval) CI -definition Konfigurations vs Versionshantering A configuration item (CI) is any part of the development and/or deliverable system (whether software, hardware, firmware, drawings, inventories and/or documentation) which needs to be independently identified, stored, tested, reviewed, used, changed, delivered and/or maintained. CIs differ widely in complexity and may contain other CIs in a hierarchy. M. Kelly, Configuration Management, The Changing Image: McGraw-Hill, 1996. Configuration Management (CM) Version/revision-hantering CM är ett vidare begrepp än version/revisionhantering Version/revision-hantering ingår i CM Ändringshantering (Change control/management) Systemgenerering (build management) etc

CM - Översikt CM - Roller CM Configuration Manager Configuration identification Configuration control Status accounting Configuration auditing M. Kelly, Configuration Management, The Changing Image: McGraw-Hill, 1996. Document configuration controller Software configuration controller Hardware configuration controller Configuration control clerk M. Kelly, Configuration Management, The Changing Image: McGraw-Hill, 1996. CM standarder CM-plan CM bör baseras på standarder som används i organisationen Standarderna bör definiera hur produkterna identifieras, hur ändringar kontrolleras och hur nya versioner hanteras Standarder kan baseras på externa CM standarder (t ex IEEE:s standard för CM) eller interna Definierar typer av dokument för CM och namngivningskonventioner för dokument Definierar ansvar för CM-procedurer och skapande av baselines Definierar regler för ändringskontroll och versionshantering Definierar CI:s och databas som måste underhållas Beskriver verktyg som ska användas för CM-processen och verktygets begränsningar

CM-plan från ISO 10007 CM-databas Introduction Description of the system or CIs to which the plan applies, a schedure of the CM activities, the purpose and scope of the plan, list of related documents etc Policies and procedures CM policies, CM organisation and structure of the CCB and the other committees, selection criteria for the CIs, frequency, distribution and control of reports and agreed terminology. Configuration identification Family tree of the CIs, numbering conventions, baselines to be established etc. Configuration control Organisation and composition of the CCB, change mangement procedures and so on. Configuration status accounting Procedures for collecting, recording, processing, and maintaining the data for status accounting reports, definition of all CM reports etc. Configuration audit List of audits to be conducted, the audit procedures, the authorities and disciplines involved, format of the audit reports, etc. All CM-information bör finnas i en databas Exempelfrågor om konfigurationer att besvaras Vilken kund har en viss systemversion? Vilken plattform krävs för en viss version? Vilka versioner påverkas av en ändring i komponent X? Hur många rapporterade fel finns i version T? Vilken version av vilken kompilator användes för att kompilera komponenten X i produkten Y version Z som kunden W har? Varför? Vad är versionshantering? Versionshantering låter dig arbeta med olika versioner av systemet Versionshantering är en säkerhetsmekanism som tillåter en att gå tillbaka och få fram tidigare versioner av ett system Versionshantering hjälper till att koordinera arbetet när man är flera personer i ett projekt

Bara en liten ändring till Varför ska man använda sig av versionskontroll? Varför inte? CM i praktiken: introduktion Versionshantering - Historia Har funnits nästan lika länge som datorerna Rätt lätt med hålkort Manuell process, svarta tavlan Verktygsstöd kom rätt tidigt, redan i början på 60-talet

Vad bör versionshanteras? Versionsnumrering - linjär Programkod Dokumentation Krav Buggrapporter 1.0 1.1 1.2 1.3 Versioner av programvara Versionsnumrering - flera parallella grenar 1.3.1.0 1.3.1.1 1.3.1.2 1.3.1.3 första grenen 1.3 1.4 1.5 1.6 1.3.2.0 1.3.2.1 andra grenen

Versionshanteringssystem Versionshanteringssystem Vanligen en databas för källkodsfiler Ändringslogg Möjlighet att återskapa tidigare versioner Stöd för koordination av utvecklare Check-in/Check-out Fillåsning Kodjämförelse Eventuellt stöd för parallell utveckling Eventuellt integrerad med krav/fel-hantering Checkin och checkout Deltas All kod samlas i en central databas För att editera/testa/etc en fil checkar varje utvecklare ut en privat kopia av filen När editeringen är klar checkas filen in i databasen igen I stället för att spara varje version som en separat fil kan man nöja sig med att spara en version och information om vad som krävs för att skapa övriga versioner Fördel: tar mindre plats man kan se vad som ändrats Nackdel: det kan ta tid att återskapa en tidigare version

diff Ex diff Jämför textfiler på radnivå Används av Subversion när två personer har editerat samma fil >diff Prog1.java Prog2.java 2,3c2,3 < public static void main(string[] argumentvektor){ < System.out.println("Detta är en text"); --- > public static void main(string[] args){ > System.out.println( Detta är en annan text!"); Fillåsning Utan fillåsning Innan en fil kan editeras måste den checkas ut med låsning De som bara vill använda filen kan checka ut den utan låsning När en fil är låst kan ingen annan editera den Vad händer om man går hem på kvällen och glömmer att checka in filen igen? Flera personer kan editera samma fil samtidigt VHS:et måste kunna jämföra filer och slå ihop dem diff manuellt

Verktyg - historiska Verktyg - Freeware IEB_UPDATE IBM Update CDC ~1960 Change and Configuration Control (CCC) SoftTool 1975 Source Code Control System (SCCS) 1975 Source Code Control System (SCCS) Revision Control System (RCS) Concurrent Versions System (CVS) Subversion Se även comp.software.config-mgmt FAQ del 2: Configuration Management Tools Summary Verktyg - Kommersiella Läs mer Finns i princip hur många som helst Se även comp.software.config-mgmt FAQ del 2: Configuration Management Tools Summary W. A. Babich, Software Configuration Management: Addison-Wesley, 1986. H. R. Berlack, Software Configuration Management: Wiley, 1992. M. Kelly, Configuration Management, The Changing Image: McGraw- Hill, 1996. R. Conradi, Software Configuration Management, in Lecture Notes in Computer Science 1235: Springer Verlag, 1997. A. Leon, A guide to software configuration management: Artech House, Inc., 2000. D. Thomas & A. Hunt, Pragmatic Version Control Using CVS: The Pragmatic Programmers, 2003.

Subversion Utvecklat för att ersätta CVS Tämligen nytt Terminalbaserat GUI finns - stöds inte, använd dem om ni litar på er själva http://subversion.tigris.org/ Subversion - att ge kommandon svn kommando [ev flaggor, filer etc] svn commit svn commit Filnamn.java svn commit -m loggmeddelande svn help svn help kommando Subversion - kommandon Subversion - kommandon (forts) Engångs-kommandon import checkout Användningskommandon update commit add, delete, move, copy Statuskontrollkommandon status log diff blame Konflikthanteringskommandon resolved Hjälp finns svn help kommando

Subversion - Kom igång Subversion exempel på andra gränssnitt Skapa ett repository Sätt miljövariabeln SVN_EDITOR Skapa en arbetskatalog Lägg in en första version av projektet Använd