InMoST Wielkopolska sieć współpracy w zakresie innowacyjnych metod wytwarzania oprogramowania Termin realizacji: 01.08.2005 – 31.07.2007 Innowacyjne metody.

Slides:



Advertisements
Podobne prezentacje
Agile w praktyce, czyli jak to robimy naprawdę
Advertisements

Zarządzanie konfiguracją oprogramowania
Marcin Piotrowski. Najpopularniejszymi darmowymi przeglądarkami są Internet Explorer, Opera, Mozilla Firefox, Google Chrome.
Projekt Do kariery na skrzydłach – studiuj Aviation Management Projekt współfinansowany ze ś rodków Europejskiego Funduszu Społecznego. Biuro projektu:
Opis metodyki i procesu produkcji oprogramowania
Projektowanie Aplikacji Komputerowych
Wdrażanie Technologii eLearningowej
Zarządzanie konfiguracją Doskonalenie Procesów Programowych Wykład 6 Copyright, 2001 © Jerzy.
J. Kacperska D. Polewski J. Kacperska D. Polewski I al.
EKO-SLOGANY * ECO-SLOGANS. EKO-SLOGANY * ECO-SLOGANS.
-Witam nazywam się Weronika Zgorzelska oraz Oliwia Kołakowska. -Witam serdecznie 1.Od kiedy pan gra w FC Barcelonie… -W FC Barcelonie gram od 13 roku.
Akcja eTwinning w Szkole Podstawowej nr 5 w Rybniku jako przykład wykorzystania Multimedialnego Centrum Informacji mgr Ewa Łopatka.
Przegląd zagadnień Struktura sieci systemu Windows 2003
Licencjonowanie SharePoint 2013
USPRAWNIANIE, DORADZTWO, KONSULTING
Autor:Ada Turek klasa 6a SP 6 w Sosnowcu
Egzamin maturalny ustny z języka obcego obowiązujący od roku szkolnego 2011/2012 Prezentacja przygotowana na podstawie informacji zawartych w informatorze.
Continuous Integration
Wyobraź Sobie… NAJNOWSZY PRODUKT! Broadcasting do nielimitowanej ilości odbiorców Najnowsza i JEDYNA tego typu Technologia Streamingu.
John LENNON IMAGINE (Jeśli chcesz, by tekst odpowiadał piosence pozwól, aby prezentacja przebiegała automatycznie)
Ogólne informacje licencyjne Kluczowe funkcjonalności Dostępne wersje i porównanie Zasady licencjonowania Downgrade, SA Licencjonowanie w środowisku chmury.
Licencjonowanie narzędzi dla programistów
Music: Nightengale Serenade
Rational Unified Process Implementacja Aleksandra Reiman, gr. I-52.
North Ireland. ● Kliknij, aby edytować format tekstu konspektu – Drugi poziom konspektu ● Trzeci poziom konspektu – Czwarty poziom konspektu ● Piąty poziom.
Spring Framework, Spring Boot
POLISH FOR BEGINNERS.
How to make an application on Step by Step Instructions
Podejmij krok TERAZ rzucić palenie Take steps NOW to stop smoking
 Primary School no 17  John Paul II, Chorzow, Poland  Made by Monika Winkler`s Project Group.
HAIRDRESSING.
Rights of the child. Kliknij, aby edytować format tekstu konspektu Drugi poziom konspektu  Trzeci poziom konspektu Czwarty poziom konspektu  Piąty poziom.
Wstęp do Fizyki Środowiska - Podstawy mechaniki płynów Problems 1 Lecture 1 1)In a vertical capillary filled with water air bubbles are rising Sketch the.
CROSSWORD: SLANG. Konkurs polega na rozwiązaniu krzyżówki. CROSSWORD: SLANG Wypełnione karty odpowiedzi prosimy składać w bibliotece CJK, lub przesyłać.
… there was someone in the past who said: „To earn million you need billion”. In my opinion, it’s true.
Zwrot going to – określa nasze plany na przyszłość lub przewidywania:
Les meilleures photos de L'année 2005 D'après NBC A life for two, full of tenderness, obtains happiness as they get closer to heaven. Życie we dwoje,
Efektywne tworzenie oprogramowania 2008/2009. Forty Years of Software Engineering Konferencja w Garmisch – uczestników Prof. Bauer TUM przewodniczący.
Artur Ochojski Katedra Badań Strategicznych i Regionalnych Wydział Ekonomii Dzień internacjonalizacji Katowice 18/06/2015 Uniwersytet Ekonomiczny w Katowicach.
You are about to see a few sentences in Polish. Try to translate them into English, but keep in mind they are: The First Conditonal The Second Conditional.
Which of the following two restaurants do you prefer? Któr ą z tych dwóch restauracji ty by ś wybrał ?
S: Present Simple vs Present Continuous.
Możliwość spełnienia marzeń sprawia, że życie jest tak fascynujące Możliwość spełnienia marzeń sprawia, że życie jest tak fascynujące The ability to.
Od Feynmana do Google’a Rafał Demkowicz-Dobrzański,, Wydział Fizyki UW.
Przetłumacz podane w nawiasach fragmenty zdań na j. angielski.
T ESTY JEDNOSTKOWE W C# Alicja Majka, A GENDA Wprowadzenie do środowiska Czym są testy jednostkowe i po co je stosować? XUnit, NUnit Pokrycie.
Marcin Gliński Instytut Języków Romańskich i Translatoryki UŚ Regionalny Ośrodek Doskonalenia Nauczycieli WOM w Katowicach NOCNE POWTÓRKI MATURALNE 2016.
2. SCHOOL School subjects, school activities. Types of schools – vocabulary rodzaje szkół - słownictwo kindergartenprimary school lower secondary school.
InMoST Wielkopolska sieć współpracy w zakresie innowacyjnych metod wytwarzania oprogramowania Termin realizacji: – Innowacyjne metody.
MOODLE MOOCS – PRZYPADKI UŻYCIA W PROJEKCIE SP4CE (PARTNERSTWO STRATEGICZNE NA RZECZ KREATYWNOŚCI I PRZEDSIĘBIORCZOŚCI) Anna GRABOWSKA (PRO-MED) Ewa KOZŁOWSKA.
TWOJA CYFROWA PRZYSZŁOŚĆ. JUŻ DZISIAJ. Marcin Parczewski © 2016 Software AG. All rights reserved. For internal use only.
C PRZEWODNIK PO NAJCIEKAWSZYCH MIEJSCACH WROCŁAWIA - GUIDE TO THE MOST INTERESTING PLACES OF WROCLAW Cześć jestem Krzysztof. Dziś będę pokazywał Ci Najciekawsze.
Important holidays and festivals in Poland. The first of January New Year’s Day New Year’s Day the day of Mary the Holy Mother of God – for Catholics.
There are lots of places in Poznan where young people can spend time actively. They are mainly pitches, courts and swimming pools but also bicycle paths.
Opracowanie: Katarzyna Gagan, Anna Krawczuk
systemy informatyczne dla przemysłu
„Forests in Poland and Europe. Characteristics and management.”
Dr inż. Anna GRABOWSKA Ewa KOZŁOWSKA
Music: Nightengale Serenade
Music: Nightengale Serenade
Przetestuj Usability Mateusz Kaczmarek
To fall for someone Zakochacć się
SafeSurfing Moduł 1 Jak bezpiecznie korzystać z internetu i jak chronić swoje dane osobowe?
MOWA ZALEŻNA Mowę zależną stosujemy, kiedy przekazujemy czyjąś wypowiedź pośrednio, nie cytując jej wprost.
A prototype of distributed modelling environment
Running Dictation Activity to Engage Students in Reading, Writing, Listening, and Speaking.
EMPOWEREMENT IN ICT SKILLS. I CREATED MY WEBSITE TO USE IT FOR TEACHING.
Mariusz Dybał - Portfel akcyjny PTEbnmbnmbn mbn,bm,b
zl
1) What is Linux 2) Founder and mascot of linux 3) Why Torvalds created linux ? 4) System advantages and disadvantages 5) Linux distributions 6) Basic.
Zapis prezentacji:

InMoST Wielkopolska sieć współpracy w zakresie innowacyjnych metod wytwarzania oprogramowania Termin realizacji: – Innowacyjne metody monitorowania projektów informatycznych: Część 3: Ciągła integracja Bartosz Walter, Marcin Werla Szkolenie finansowane ze środków Europejskiego Funduszu Społecznego (75%) i budżetu państwa (25%) w ramach Zintegrowanego Programu Operacyjnego Rozwoju Regionalnego

Ciągła integracja – w teorii „…a common story of software projects: integration is a long and unpredictable process.”

Ciągła integracja – w teorii „But this needn't be the way.” – Martin Fowler (MF) „Continuous Integration” ation.html ation.html

Ciągła integracja – w teorii Pełna integracja: 1.Pełna rekompilacja całego kodu źródłowego 2.Stworzenie uruchamialnej postaci systemu i uruchomienie go w środowisku testowym 3.Uruchomienie wszystkich testów automatycznych Wszystkie kroki muszą zakończyć się sukcesem.

Ciągła integracja – w teorii Przykładowy scenariusz 1.Pobranie aktualnego kodu źródłowego z VCS 2.Wprowadzenie zmian w kodzie 3.Integracja na maszynie programisty 4.Synchronizacja kodu z VCS 5.Integracja na maszynie programisty 6.Przesłanie zmodyfikowanego kodu na serwer VCS 7.Automatyczna integracja na serwerze ciągłej integracji

Ciągła integracja – w teorii Zalety  Zmniejsza ryzyko wystąpienia problemów integracyjnych  Brak odrębnych sesji integracyjnych  Zmniejszenie liczby błędów wykrywanych dopiero na etapie integracji  Poprawa pracy zespołowej Ciągła integracja to jedna z podstawowych praktyk Extreme Programming. Extreme Programming

Ciągła integracja – w teorii Zalecane praktyki  Pojedyncze repozytorium kodu źródłowego – „…you should be able to walk up to the project with a virgin machine, do a checkout, and be able to fully build the system.” – MF

Ciągła integracja – w teorii Zalecane praktyki  Zautomatyzowane skrypty integracyjne – „…anyone should be able to bring in a virgin machine, check the sources out of the repository, issue a single command, and have a running system on their machine.” – MF

Ciągła integracja – w teorii Zalecane praktyki  Zautomatyzowane testy – „ Imperfect tests, run frequently, are much better than perfect tests that are never written at all.” – MF

Ciągła integracja – w teorii Zalecane praktyki  Częste przesyłanie zmian na serwer VCS – „ The more frequently you commit, the less places you have to look for conflict errors, and the more rapidly you fix conflicts.” – MF

Ciągła integracja – w teorii Zalecane praktyki  Każda zmiana powoduje wykonanie integracji „The whole point of continuous integration is to find problems as soon as you can. Nightly builds mean that bugs lie undetected for a whole day before anyone discovers them.” – MF „ Daily builds are for wimps.” – Kent Beck

Ciągła integracja – w teorii Zalecane praktyki  Integracja powinna być krótkim procesem „ Probably the most crucial step is to start working on setting up a staged build. The idea behind a staged build is that there are in fact multiple builds done in sequence.” – MF

Ciągła integracja – w teorii Zalecane praktyki  Testuj w środowisku jak najbardziej zbliżonym do produkcyjnego „ If you test in a different environment, every difference results in a risk that what happens under test won't happen in production.” – MF

Ciągła integracja – w teorii Zalecane praktyki  Ostatnia pozytywnie przetestowana postać binarna powinna być łatwo dostępna „ We've found that it's very hard to specify what you want in advance and be correct; people find it much easier to see something that's not quite right and say how it needs to be changed.” – MF

Ciągła integracja – w teorii Zalecane praktyki  Informacje o statusie integracji powinny być łatwo dostępne „ Continuous Integration is all about communication, so you want to ensure that everyone can easily see the state of the system and the changes that have been made to it.” – MF

Ciągła integracja – w teorii „Bubble, Bubble, Build's In Trouble”

Ciągła integracja – w teorii „Bread as a display device” „…recently I saw someone experimenting with a dancing rabbit…” – MF

Ciągła integracja – w praktyce Typowa architektura: Programista Serwer VCS Serwer informacyjny Serwer testowy Serwer integracyjny

Ciągła integracja – w praktyce Serwery VCS:  CVS CVS  Subversion Subversion  Perforce Perforce  … scm.berlios.de/comparison/comparison.html

Ciągła integracja – w praktyce Narzędzia do automatyzacji:  Make Make  Ant, NAnt AntNAnt  Maven Maven  Ivy Ivy  …

Ciągła integracja – w praktyce Narzędzia do testów:  xUnit  The Grinder The Grinder  JMeter JMeter  Marathon Marathon  …

Ciągła integracja – w praktyce Narzędzia do ciągłej integracji:  CruiseControl CruiseControl  DamageControl DamageControl  LuntBuild LuntBuild  Continuum Continuum  … ntegration+Server+Feature+Matrix

Ciągła integracja – w praktyce Pełna integracja (Maven): 1.Pełna rekompilacja całego kodu źródłowego (clean, compile) 2.Stworzenie uruchamialnej postaci systemu i uruchomienie go w środowisku testowym (test, build, install, … 1 ) 3.Uruchomienie wszystkich testów automatycznych (… 2 ) Np.: 1 Stworzenie pliku WAR, uruchomienie go na testowym serwerze aplikacji 2 Uruchomienie testów akceptacyjnych/integracyjnych napisanych przy pomocy JWebUnit, …

Ciągła integracja – w praktyce CruiseControl  Darmowy, open-source  Wersje dla Javy i.NET  Składa się z dwóch aplikacji  - Serwera integracyjnego  - Aplikacji WWW do udostępniania wyników integracji  Działa z wieloma systemami VCS  Rozbudowane możliwości konfiguracji

Ciągła integracja – w praktyce CruiseControl – serwer integracyjny  Jedna instalacja obsługuje wiele projektów  Każdy projekt może mieć zdefiniowane kilka różnych integracji  Dwie podstawowe możliwości konfigurowania okresu integracji

Ciągła integracja – w praktyce CruiseControl – serwer integracyjny  Możliwość „opublikowania” wyników integracji na wiele różnych sposobów  Możliwość zarządzania poprzez interfejs JMX  Możliwość rozszerzania funkcjonalności własnymi pluginami  Konfiguracja poprzez plik XML

Ciągła integracja – w praktyce … …

Ciągła integracja – w praktyce... (4) … … (16) … … (24) … … (6) … … (24) …

Ciągła integracja – w praktyce CruiseControl – aplikacja WWW  Jedna instalacja obsługuje wiele projektów  Wyświetlane strony są generowane na podstawie logów części integracyjnej CC  Możliwy jest dostęp do pełnej historii integracji i artefaktów z integracji

Ciągła integracja – w praktyce CruiseControl – wady/zalety  [+] Dojrzały (czyt. stabilny i przemyślany)  [+] Bardzo elastyczny  [+/–] Osobne aplikacje do integracji i prezentacji wyników  [–] Ograniczone możliwości interfejsu WWW

Ciągła integracja Podsumowanie  Ciągła integracja to jedna z praktyk XP i jest ściśle powiązana jest z innymi praktykami  Pełne wdrożenie CI wymaga sporego nakładu pracy, ale… warto to zrobić  Nawet „integracja” polegająca na rekompilacji kodu już coś daje  Istnieje wiele narzędzi umożliwiających i ułatwiających zautomatyzowaną ciągłą integrację  Dobrym narzędziem na początek jest CruiseControl

Ciągła integracja Pytania?

Ciągła integracja Dziękuję za uwagę!