Koncepcja ciągłej integracji

  • Wprowadzenie
  • Słowa kluczowe
  • Jakiś popularny serwer integracyjny
  • Kilka przydatnych linków
  • Uwagi

Wprowadzenie

Ciągły proces integracji ma na celu przede wszystkim sprawdzenie, czy każda aktualizacja kodu źródłowego nie generuje regresji i / lub nieprawidłowości w opracowywanej aplikacji. Historycznie, integracja była stale wykorzystywana przez IBM do tworzenia OS / 360 od lat 60-tych.

Ciągła integracja nie jest narzędziem, ale raczej praktycznym rezultatem eXtreme Programming (XP).

Deweloperzy pracujący nad tym samym programem aplikacyjnym, często inicjują go ponownie. Spowoduje to, przy każdej integracji, proces oparty na platformie, która automatycznie monitoruje działanie aplikacji, aby wykryć anomalie po wejściu.

Najtrudniejsze dla dewelopera jest odzwierciedlenie rzeczywistego wpływu aktualizacji na wszystkie podstawowe funkcje aplikacji. Ciągła integracja może dać deweloperowi szerszy wgląd w aplikację, ponieważ testy aplikacji są wykonywane w środowisku klonowania.

Słowa kluczowe

  • Kompilacja: Wszystkie kroki niezbędne do skompilowania i utworzenia elementów dostarczanych, potrzebne do uruchomienia testów (funkcjonalne, jednostkowe, HMI itp.).
  • Zatwierdzenie: Ta operacja pozwala na weryfikację aktualizacji istniejącego kodu źródłowego w lokalnym katalogu roboczym komputera dewelopera za pomocą narzędzia do zarządzania konfiguracją (takiego jak SVN).
  • Aktualizacja: Ta operacja umożliwia aktualizację z repozytorium narzędzia do zarządzania konfiguracją w katalogu lokalnym.
  • Checkout: Jest to operacja wyodrębnienia wersji projektu w trakcie tworzenia z repozytorium menedżera konfiguracji do lokalnego katalogu roboczego.

Scenariusz ogólny

  • Deweloper zatwierdził repozytorium menedżera konfiguracji.
  • Serwer integracyjny wykrywa zatwierdzenie, sprawia, że ​​Checkout uruchamia kompilację i testowanie operacji
  • W przypadku awarii generowane jest powiadomienie kierownika projektu i / lub zespołu programistycznego.
  • Deweloper, którego dotyczy błąd, aktualizuje repozytorium zarządzania konfiguracją i koryguje anomalię.

Ogólne cechy serwera ciągłej integracji

  • Serwer ciągłej integracji powinien przede wszystkim umożliwiać:
  • Aby wykonać operacje Checkout programu Configuration Manager.
  • Kompilowanie kodu źródłowego
  • Tworzenie archiwum aplikacji (Ear, Jar, War, ...)
  • Wdrożenie archiwum na maszynie testowej.
  • Uruchamianie zestawu testów: JUnit, Cactus, audyt kodu źródłowego, testowanie GUI, testowanie funkcjonalne
  • Powiadomienie o wyniku: poczta, RSS.
  • Tworzenie raportu statystycznego.
  • Integracja z innymi narzędziami

Jakiś popularny serwer integracyjny

  • Cruise Control: open source i darmowy, dobrze znany, dobrze udokumentowany, do testowania aplikacji i aplikacji J2EE. Netto. jest odniesieniem do ciągłej integracji.
  • Hudson: open source i darmowy, ostatnio stają się bardziej popularne, ponieważ Cruise Control może testować aplikacje J2EE. Używany przez SUN.
  • Continuum: darmowe źródło otwarte obsługiwane przez Fundację Apache.
  • Bamboo: opensource, ale trzeba kupić.

Kilka przydatnych linków

  • //www.atlassian.com/software/bamboo/
  • //msdn.microsoft.com/en-us/library/ms364045(VS.80).aspx
  • //c2.com/cgi/wiki?ContinuousIntegration
  • //www.extremeprogramming.org/rules/integrateoften.html
  • //en.wikipedia.org/wiki/Continuous_integration
  • //martinfowler.com/articles/continuousIntegration.html

Uwagi

Dzięki wjaouadi za tę wskazówkę.

Poprzedni Artykuł Następny Artykuł

Najważniejsze Wskazówki