reklama - zainteresowany?

Ciągłe dostarczanie oprogramowania. Automatyzacja kompilacji, testowania i wdrażania - Helion

Ciągłe dostarczanie oprogramowania. Automatyzacja kompilacji, testowania i wdrażania
Autor: Jez Humble, David Farley
Tytuł oryginału: Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation
TÅ‚umaczenie: Dorota Konowrocka-Sawa
ISBN: 978-83-246-9918-6
stron: 440, Format: 168x237, okładka: miękka
Data wydania: 2015-01-21
Księgarnia: Helion

Cena książki: 53,40 zł (poprzednio: 89,00 zł)
Oszczędzasz: 40% (-35,60 zł)

Dodaj do koszyka Ciągłe dostarczanie oprogramowania. Automatyzacja kompilacji, testowania i wdrażania

Tagi: programowanie-kupon | Techniki programowania | Testowanie oprogramowania

Dostarczaj oprogramowanie na zawołanie!

JeÅ›li Twoja praca wymaga, byÅ› dostarczaÅ‚ oprogramowanie w sposób niemalże ciÄ…gÅ‚y, a Ty chciaÅ‚byÅ› uniknąć niepowodzeÅ„, pomogÄ… Ci w tym: automatyczna kompilacja, testowanie i wdrażanie. DziÄ™ki nim możesz zaoferować użytkownikom aplikacjÄ™ najwyższej jakoÅ›ci w dowolnym czasie!

W tej książce znajdziesz instrukcje na temat realizacji takiego celu. Na samym poczÄ…tku poznasz typowe problemy z wdrażaniem oprogramowania, a w kolejnych rozdziaÅ‚ach zobaczysz, jak je rozwiÄ…zać. Zaczniesz od najlepszych technik zarzÄ…dzania konfiguracjÄ… aplikacji, a nastÄ™pnie przejdziesz do zagadnieÅ„ zwiÄ…zanych z ciÄ…gÅ‚Ä… integracjÄ…. Po tym wstÄ™pie czeka CiÄ™ niezwykle pasjonujÄ…ca lektura dotyczÄ…ca potoku wdrożeÅ„ oraz tworzenia skryptów automatyzujÄ…cych proces tworzenia i budowania projektu. Ponadto zapoznasz siÄ™ z detalami automatycznych testów akceptacyjnych i testów wymagaÅ„ niefunkcjonalnych oraz zrozumiesz, jak stworzyć strategiÄ™ udostÄ™pniania oprogramowania. Dla powodzenia caÅ‚ego przedsiÄ™wziÄ™cia kluczowe jest zbudowanie ekosystemu wydawania oprogramowania. Ten temat zostaÅ‚ obszernie omówiony w trzeciej części książki. Jeżeli chcesz zmienić sposób wydawania Twojego oprogramowania, przeczytaj ten podrÄ™cznik!

Książka prezentuje:
  • AutomatyzacjÄ™ wszystkich aspektów kompilacji, integracji, testowania i wdrażania oprogramowania
  • ImplementacjÄ™ potoków wdrożeÅ„ na poziomie zespoÅ‚u projektowego i organizacji
  • Usprawnienie wspóÅ‚pracy programistów, testerów i pracowników odpowiedzialnych za eksploatacjÄ™ oprogramowania
  • Przyrostowy rozwój funcjonalnoÅ›ci w dużych i rozproszonych zespoÅ‚ach
  • Wdrożenie skutecznej strategii zarzÄ…dzania konfiguracjÄ…
  • AutomatyzacjÄ™ testów akceptacyjnych od analizy do implementacji
  • Testowanie wydajnoÅ›ci i innych wymagaÅ„ niefunkcjonalnych
  • ImplementacjÄ™ ciÄ…gÅ‚ego wdrażania i wydaÅ„ bez przestojów
  • ZarzÄ…dzanie infrastrukturÄ…, danymi, moduÅ‚ami i zależnoÅ›ciami
  • RozwiÄ…zywanie kwestii zarzÄ…dzania ryzykiem, zgodnoÅ›ci z regulacjami i audytu

Wydawanie aplikacji jeszcze nigdy nie było tak proste!

Dodaj do koszyka Ciągłe dostarczanie oprogramowania. Automatyzacja kompilacji, testowania i wdrażania

 

Osoby które kupowały "Ciągłe dostarczanie oprogramowania. Automatyzacja kompilacji, testowania i wdrażania", wybierały także:

  • Ruby on Rails. Ćwiczenia
  • Zen Steve'a Jobsa
  • ASP.NET MVC. Kompletny przewodnik dla programistów interaktywnych aplikacji internetowych w Visual Studio
  • TDD. Sztuka tworzenia dobrego kodu
  • GitHub. Przyjazny przewodnik

Dodaj do koszyka Ciągłe dostarczanie oprogramowania. Automatyzacja kompilacji, testowania i wdrażania

Spis treści

Ciągłe dostarczanie oprogramowania. Automatyzacja kompilacji, testowania i wdrażania -- spis treści

Przedmowa Martina Fowlera (17)

Wprowadzenie (19)

Podziękowania (27)

O autorach (28)

CZĘŚĆ I. PODSTAWY (29)

Rozdział 1. Problem dostarczania oprogramowania (31)

  • WstÄ™p (31)
  • Niektóre powszechnie wystÄ™pujÄ…ce bÅ‚Ä™dne wzorce wydawania oprogramowania (32)
    • Antywzorzec: rÄ™czne wdrażanie oprogramowania (33)
    • Antywzorzec: wdrożenie w Å›rodowisku zbliżonym do Å›rodowiska produkcyjnego dopiero po zakoÅ„czeniu programowania (35)
    • Antywzorzec: rÄ™czne zarzÄ…dzanie konfiguracjÄ… Å›rodowiska produkcyjnego (37)
    • Czy możemy to poprawić? (38)
  • Jak mamy osiÄ…gnąć nasz cel? (39)
    • Każda zmiana powinna uruchamiać proces pozyskiwania informacji zwrotnej (40)
    • Informacja zwrotna musi być uzyskiwana możliwie szybko (41)
    • ZespóÅ‚ odpowiedzialny za wdrożenie musi wyciÄ…gnąć praktyczne wnioski z otrzymanej informacji zwrotnej (43)
    • Czy ten proces siÄ™ skaluje? (43)
  • Jakie pÅ‚ynÄ… z tego korzyÅ›ci? (44)
    • Przyznanie zespoÅ‚om wiÄ™kszej wÅ‚adzy (44)
    • Ograniczenie liczby bÅ‚Ä™dów (45)
    • Obniżenie poziomu stresu (47)
    • Elastyczność wdrożenia (47)
    • Ćwiczenie czyni mistrza (48)
  • Kandydat do wydania (49)
    • Każde zaewidencjonowanie prowadzi do potencjalnego wydania (50)
  • Zasady dostarczania oprogramowania (50)
    • Stwórz powtarzalny, niezawodny proces dostarczania oprogramowania (50)
    • Automatyzuj, co tylko siÄ™ da (51)
    • Przechowuj wszystko w systemie kontroli wersji (51)
    • JeÅ›li to boli, rób to częściej i szybciej zmierz siÄ™ z bólem (52)
    • Wbuduj jakość w proces wytwarzania (52)
    • Gotowe oznacza wydane (53)
    • Wszyscy sÄ… odpowiedzialni za udostÄ™pnianie oprogramowania (53)
    • CiÄ…gÅ‚e doskonalenie (54)
  • Podsumowanie (54)

Rozdział 2. Zarządzanie konfiguracją (57)

  • WstÄ™p (57)
  • Stosowanie systemów kontroli wersji (58)
    • W systemie kontroli wersji przechowuj absolutnie wszystko (59)
    • Wprowadzaj zmiany regularnie do gÅ‚ównej gaÅ‚Ä™zi projektu (61)
    • PosÅ‚uguj siÄ™ czytelnymi opisami zakresu zmian (62)
  • ZarzÄ…dzanie zależnoÅ›ciami (63)
    • ZarzÄ…dzanie bibliotekami zewnÄ™trznymi (63)
    • ZarzÄ…dzanie moduÅ‚ami (64)
  • ZarzÄ…dzanie konfiguracjÄ… oprogramowania (64)
    • Konfiguracja i elastyczność (65)
    • Typy konfiguracji (66)
    • ZarzÄ…dzanie konfiguracjÄ… aplikacji (67)
    • ZarzÄ…dzanie konfiguracjÄ… szeregu aplikacji (70)
    • Zasady zarzÄ…dzania konfiguracjÄ… aplikacji (71)
  • ZarzÄ…dzanie Å›rodowiskami (72)
    • NarzÄ™dzia do zarzÄ…dzania Å›rodowiskami (75)
    • ZarzÄ…dzanie procesem zmiany (75)
  • Podsumowanie (76)

Rozdział 3. Ciągła integracja (77)

  • WstÄ™p (77)
  • Wdrażanie ciÄ…gÅ‚ej integracji (78)
    • Czego potrzebujesz na poczÄ…tek? (78)
    • Podstawowy system ciÄ…gÅ‚ej integracji (79)
  • Warunki wstÄ™pne ciÄ…gÅ‚ej integracji (81)
    • Ewidencjonuj regularnie (81)
    • Stwórz obszerny i kompleksowy zestaw zautomatyzowanych testów (81)
    • Niech proces kompilacji i testowania bÄ™dzie możliwie krótki (82)
    • ZarzÄ…dzanie Å›rodowiskiem programistycznym (83)
  • Stosowanie systemów ciÄ…gÅ‚ej integracji (84)
    • Podstawowa funkcjonalność (84)
    • Wodotryski (85)
  • Kluczowe praktyki (87)
    • Nie ewidencjonuj niczego w popsutej kompilacji (87)
    • Zawsze testuj lokalnie wszystkie zmiany przed ich zatwierdzeniem albo zleć to serwerowi CI (87)
    • Zanim podejmiesz pracÄ™, poczekaj na powodzenie testów towarzyszÄ…cych przekazywaniu zmian (88)
    • Nigdy nie idź do domu, dopóki kompilacja nie dziaÅ‚a poprawnie (89)
    • Zawsze bÄ…dź przygotowany na powrót do poprzednich wersji (90)
    • Ustaw sobie limit czasu na poprawki przed cofniÄ™ciem zmian (90)
    • Nie wyÅ‚Ä…czaj testów, które zakoÅ„czyÅ‚y siÄ™ niepowodzeniem (91)
    • Weź odpowiedzialność za wszystkie szkody powstaÅ‚e w wyniku zmian (91)
    • Programowanie sterowane testami (91)
  • Zalecane praktyki (92)
    • Praktyki programowania ekstremalnego (XP) (92)
    • Odrzucanie kompilacji ze wzglÄ™du na naruszenie architektury (92)
    • Odrzucanie kompilacji ze wzglÄ™du na powolność testów (93)
    • Odrzucanie kompilacji ze wzglÄ™du na ostrzeżenia i niewÅ‚aÅ›ciwe formatowania kodu (94)
  • ZespoÅ‚y rozproszone (95)
    • WpÅ‚yw na proces (95)
    • Scentralizowana ciÄ…gÅ‚a integracja (96)
    • Problemy techniczne (97)
    • PodejÅ›cia alternatywne (97)
  • Rozproszone systemy kontroli wersji (99)
  • Podsumowanie (101)

RozdziaÅ‚ 4. Wdrożenie strategii testów (103)

  • WstÄ™p (103)
  • Typy testów (104)
    • Testy biznesowe wspierajÄ…ce proces wytwarzania oprogramowania (105)
    • Testy technologiczne wspierajÄ…ce programowanie (108)
    • Testy biznesowe umożliwiajÄ…ce krytycznÄ… analizÄ™ projektu (108)
    • Testy technologiczne umożliwiajÄ…ce krytycznÄ… analizÄ™ projektu (110)
    • Obiekty zastÄ™pcze (110)
  • Sytuacje i strategie z prawdziwego życia (111)
    • Na poczÄ…tku projektu (111)
    • W Å›rodku projektu (112)
    • Kod zastany (113)
    • Testy integracyjne (115)
  • Proces (117)
    • ZarzÄ…dzanie zalegÅ‚ymi bÅ‚Ä™dami (118)
  • Podsumowanie (119)

CZĘŚĆ II. POTOK WDROŻEŃ (121)

Rozdział 5. Anatomia potoku wdrożeń (123)

  • WstÄ™p (123)
  • Czym jest potok wdrożeÅ„? (124)
    • Podstawowy potok wdrożeÅ„ (128)
  • Praktyki zwiÄ…zane z potokiem wdrożeÅ„ (130)
    • Kompiluj binaria tylko raz (130)
    • W każdym Å›rodowisku wdrażaj w taki sam sposób (132)
    • Testuj wdrożenia testami dymnymi (134)
    • Wdrażaj na kopii Å›rodowiska produkcyjnego (134)
    • Każda zmiana powinna być natychmiast przekazywana do kolejnej fazy potoku (135)
    • JeÅ›li jakakolwiek część potoku nie dziaÅ‚a, zatrzymaj potok (136)
  • Faza przekazywania zmian (136)
    • Najlepsze praktyki fazy przekazywania zmian (138)
  • Bramka automatycznych testów akceptacyjnych (139)
    • Najlepsze praktyki fazy zautomatyzowanych testów akceptacyjnych (141)
  • Kolejne fazy testowania (142)
    • Testy rÄ™czne (143)
    • Testy niefunkcjonalne (144)
  • Przygotowanie do wydania (144)
    • Automatyzacja wdrożenia i wydania (145)
    • Wycofywanie siÄ™ ze zmian (147)
    • Budowanie na sukcesie (148)
  • Implementacja potoku wdrożeÅ„ (148)
    • Tworzenie modelu strumienia wartoÅ›ci i szkieletu systemu (148)
    • Automatyzacja procesu kompilacji i wdrażania (149)
    • Automatyzacja testów jednostkowych i analiza kodu (150)
    • Automatyzacja testów akceptacyjnych (151)
    • Rozwijanie potoku (151)
  • Miary (152)
  • Podsumowanie (155)

Rozdział 6. Skrypty kompilacji i wdrożenia (157)

  • WstÄ™p (157)
  • PrzeglÄ…d narzÄ™dzi kompilacji (158)
    • Make (160)
    • Ant (161)
    • NAnt i MSBuild (162)
    • Maven (162)
    • Rake (163)
    • Buildr (164)
    • Psake (164)
  • ReguÅ‚y i praktyki pisania skryptów kompilacji i wdrożenia (165)
    • Stwórz skrypt dla każdej fazy potoku wdrożeÅ„ (165)
    • Zastosuj wÅ‚aÅ›ciwÄ… technologiÄ™ do wdrożenia aplikacji (165)
    • W każdym Å›rodowisku wdrażaj za pomocÄ… tych samych skryptów (166)
    • Skorzystaj z systemu zarzÄ…dzania pakietami systemu operacyjnego (167)
    • Zapewnij idempotentność procesu wdrożenia (168)
    • Rozwijaj system wdrożeniowy przyrostowo (169)
  • Struktura projektu dla aplikacji, których celem jest wirtualna maszyna Javy (170)
    • UkÅ‚ad projektu (170)
  • Tworzenie skryptów wdrożenia (173)
    • Wdrażanie i testowanie warstw (174)
    • Testowanie konfiguracji Å›rodowiska (175)
  • Rady i wskazówki (176)
    • Zawsze stosuj Å›cieżki wzglÄ™dne (176)
    • Wyeliminuj etapy rÄ™czne (177)
    • Wbuduj możliwość przeÅ›ledzenia drogi od binariów do systemu kontroli wersji (177)
    • Nie ewidencjonuj binariów w systemie kontroli wersji jako części kompilacji (178)
    • Cele testowe nie powinny eliminować kompilacji (178)
    • Ogranicz aplikacjÄ™ za pomocÄ… zintegrowanych testów dymnych (179)
    • Porady i wskazówki dotyczÄ…ce .NET (179)
  • Podsumowanie (179)

Rozdział 7. Faza przekazywania zmian (181)

  • WstÄ™p (181)
  • Zasady i praktyki fazy przekazywania zmian (182)
    • Dostarczaj szybkiej i użytecznej informacji zwrotnej (182)
    • Co powinno przerywać fazÄ™ przekazywania zmian? (184)
    • Nadzoruj uważnie fazÄ™ przekazywania zmian (184)
    • Przekaż odpowiedzialność programistom (185)
    • W bardzo dużych zespoÅ‚ach przypisz komuÅ› funkcjÄ™ mistrza kompilacji (186)
  • Wyniki fazy przekazywania zmian (186)
    • Repozytorium artefaktów (186)
  • Zasady i praktyki dotyczÄ…ce zestawu testów fazy przekazywania zmian (189)
    • Unikaj interfejsu użytkownika (190)
    • Stosuj wstrzykiwanie zależnoÅ›ci (190)
    • Unikaj bazy danych (190)
    • Przy testach jednostkowych unikaj asynchronicznoÅ›ci (191)
    • Wykorzystywanie obiektów zastÄ™pczych (191)
    • Minimalizacja stanu w testach (194)
    • Pozorowanie czasu (195)
    • Nic na siÅ‚Ä™ (195)
  • Podsumowanie (196)

Rozdział 8. Zautomatyzowane testy akceptacyjne (197)

  • WstÄ™p (197)
  • Dlaczego zautomatyzowane testy akceptacyjne sÄ… tak ważne? (198)
    • Jak tworzyć zestawy poddajÄ…cych siÄ™ utrzymaniu testów akceptacyjnych? (200)
    • Testowanie graficznego interfejsu użytkownika (202)
  • Tworzenie testów akceptacyjnych (203)
    • Rola analityków i testerów (203)
    • Analiza w projektach iteracyjnych (203)
    • Kryteria akceptacyjne jako wykonywalne specyfikacje (204)
  • Warstwa sterownika aplikacji (207)
    • Jak wyrażać swoje kryteria akceptacyjne? (209)
    • Wzorzec sterownika okna: uniezależnianie testów od GUI (210)
  • Implementacja testów akceptacyjnych (212)
    • Stan w testach akceptacyjnych (212)
    • Ograniczenia procesu, hermetyzacja i testowanie (214)
    • ZarzÄ…dzanie asynchronicznoÅ›ciÄ… i przekroczeniem czasu przyznanego na danÄ… operacjÄ™ (215)
    • Stosowanie obiektów zastÄ™pczych (217)
  • Faza testów akceptacyjnych (220)
    • Utrzymywanie poprawnoÅ›ci testów akceptacyjnych (221)
    • Testy wdrożenia (223)
  • Wydajność testów akceptacyjnych (225)
    • Refaktoryzacja czÄ™sto wykonywanych zadaÅ„ (225)
    • WspóÅ‚dziel kosztowne zasoby (226)
    • Testowanie równolegÅ‚e (227)
    • Stosowanie przetwarzania rozproszonego (227)
  • Podsumowanie (229)

Rozdział 9. Testowanie wymagań niefunkcjonalnych (231)

  • WstÄ™p (231)
  • ZarzÄ…dzanie wymaganiami niefunkcjonalnymi (232)
    • Analiza wymagaÅ„ niefunkcjonalnych (233)
  • Programowanie z myÅ›lÄ… o wydajnoÅ›ci (234)
  • Pomiar wydajnoÅ›ci (236)
    • Jak definiować sukces i porażkÄ™ w testach wydajnoÅ›ciowych? (238)
  • Åšrodowisko testów wydajnoÅ›ciowych (239)
  • Automatyzacja testów wydajnoÅ›ciowych (243)
    • Testowanie wydajnoÅ›ci poprzez interfejs użytkownika (245)
    • Nagrywanie interakcji przez usÅ‚ugÄ™ lub publiczne API (246)
    • Stosowanie szablonów nagranych interakcji (246)
    • Stosowanie stubów testów wydajnoÅ›ciowych do produkcji testów (248)
  • Dodawanie testów wydajnoÅ›ciowych do potoku wdrożeÅ„ (249)
  • Dodatkowe korzyÅ›ci pÅ‚ynÄ…ce z systemu testów wydajnoÅ›ciowych (251)
  • Podsumowanie (252)

Rozdział 10. Wdrażanie i wydawanie aplikacji (253)

  • WstÄ™p (253)
  • Tworzenie strategii udostÄ™pniania oprogramowania (254)
    • Plan wydania (255)
    • UdostÄ™pnianie produktów użytkownikom (256)
  • Wdrażanie i promocja aplikacji (256)
    • Pierwsze wdrożenie (256)
    • Szkicowanie procesu udostÄ™pniania oprogramowania i promowania kompilacji (257)
    • Promocja konfiguracji (260)
    • Orkiestracja (260)
    • Wdrożenia w Å›rodowiskach tymczasowych (261)
  • Wycofywanie siÄ™ z wdrożeÅ„ i wydania bez przestojów (262)
    • Wycofywanie siÄ™ poprzez powtórne wdrożenie wczeÅ›niejszej dobrej wersji (262)
    • Wydanie bez przestoju (263)
    • Wdrożenia niebiesko-zielone (263)
    • Wydanie kanarkowe (265)
  • Poprawki awaryjne (267)
  • CiÄ…gÅ‚e wdrażanie (268)
    • CiÄ…gÅ‚e udostÄ™pnianie oprogramowania instalowanego przez użytkownika (269)
  • Rady i wskazówki (271)
    • Ludzie odpowiedzialni za wdrożenie powinni być zaangażowani w tworzenie procesu wdrożenia (271)
    • Loguj dziaÅ‚ania zwiÄ…zane z wdrożeniem (272)
    • Nie kasuj starych plików, tylko je przenieÅ› (272)
    • Za wdrożenie odpowiada caÅ‚y zespóÅ‚ (273)
    • Aplikacje serwerowe nie powinny mieć interfejsu graficznego (273)
    • Przy nowym wdrożeniu pamiÄ™taj o rozgrzewce (273)
    • Szybko odrzucaj bÅ‚Ä™dne wersje (274)
    • Nie dokonuj zmian bezpoÅ›rednio w Å›rodowisku produkcyjnym (274)
  • Podsumowanie (274)

CZĘŚĆ III. EKOSYSTEM DOSTARCZANIA OPROGRAMOWANIA (277)

Rozdział 11. Zarządzanie środowiskami i infrastrukturą (279)

  • WstÄ™p (279)
  • Rozumienie potrzeb zespoÅ‚u eksploatacji systemów IT (281)
    • Dokumentacja i audyt (282)
    • Ostrzeżenia o nienormalnych zdarzeniach (282)
    • Planowanie ciÄ…gÅ‚oÅ›ci dostarczania usÅ‚ug IT (283)
    • Korzystaj z technologii znanej zespoÅ‚owi eksploatacji systemów IT (284)
  • Opracowywanie modelu infrastruktury i zarzÄ…dzanie niÄ… (284)
    • Kontrola dostÄ™pu do infrastruktury (286)
    • Wprowadzanie zmian w infrastrukturze (287)
  • ZarzÄ…dzanie dostarczaniem i konfiguracjÄ… serwerów (288)
    • Dostarczanie serwerów (289)
    • Bieżące zarzÄ…dzanie serwerami (290)
  • ZarzÄ…dzanie konfiguracjÄ… middleware'u (295)
    • ZarzÄ…dzanie konfiguracjÄ… (295)
    • Zbadaj produkt (297)
    • Przeanalizuj, w jaki sposób middleware obsÅ‚uguje stan (298)
    • Poszukaj API konfiguracji (298)
    • Zastosuj lepszÄ… technologiÄ™ (299)
  • ZarzÄ…dzanie usÅ‚ugami infrastrukturalnymi (299)
    • Systemy wieloadresowe (300)
  • Wirtualizacja (301)
    • ZarzÄ…dzanie Å›rodowiskami wirtualnymi (303)
    • Åšrodowiska wirtualne i potok wdrożeÅ„ (305)
    • Wysoce równolegÅ‚e testowanie ze Å›rodowiskami wirtualnymi (307)
  • Przetwarzanie w chmurze (309)
    • Infrastruktura w chmurze (310)
    • Platformy w chmurze (311)
    • Jedno rozwiÄ…zanie nie musi być odpowiednie dla wszystkich (312)
    • Krytyka przetwarzania w chmurze (312)
  • Monitorowanie infrastruktury i aplikacji (313)
    • Gromadzenie danych (314)
    • Rejestrowanie zdarzeÅ„ (315)
    • Tworzenie tablic wskaźników (316)
    • Monitoring sterowany zachowaniami (318)
  • Podsumowanie (318)

Rozdział 12. Zarządzanie danymi (321)

  • WstÄ™p (321)
  • Pisanie skryptów baz danych (322)
    • Inicjalizacja baz danych (322)
  • Zmiana przyrostowa (323)
    • Wersjonowanie bazy danych (323)
    • ZarzÄ…dzanie zharmonizowanymi zmianami (325)
  • Wycofywanie siÄ™ do poprzedniej wersji baz danych i wydania bez przestojów (326)
    • Wycofywanie siÄ™ bez utraty danych (327)
    • Uniezależnianie wdrożenia aplikacji od migracji bazy danych (328)
  • ZarzÄ…dzanie danymi testowymi (329)
    • Imitowanie bazy danych na potrzeby testów jednostkowych (330)
    • ZarzÄ…dzanie zależnoÅ›ciami miÄ™dzy testami a danymi (331)
    • Izolacja testu (331)
    • Przygotowanie i rozmontowanie (332)
    • Spójne scenariusze testowe (332)
  • ZarzÄ…dzanie danymi i potok wdrożeÅ„ (333)
    • Dane w fazie przekazywania zmian (333)
    • Dane w testach akceptacyjnych (334)
    • Dane w testach wydajnoÅ›ciowych (335)
    • Dane w innych fazach testów (336)
  • Podsumowanie (337)

Rozdział 13. Zarządzanie modułami i zależnościami (339)

  • WstÄ™p (339)
  • Utrzymywanie aplikacji w stanie zdatnoÅ›ci do wydania (340)
    • Ukryj nowÄ… funkcjonalność, dopóki nie zostanie ukoÅ„czona (341)
    • Wprowadzaj wszystkie zmiany przyrostowo (343)
    • RozgaÅ‚Ä™zianie przez abstrakcjÄ™ (343)
  • ZależnoÅ›ci (345)
    • PiekÅ‚o zależnoÅ›ci (346)
    • ZarzÄ…dzanie bibliotekami (347)
  • ModuÅ‚y (349)
    • Jak dzielić bazÄ™ kodu na moduÅ‚y? (349)
    • Droga moduÅ‚ów przez potok wdrożeÅ„ (352)
    • Potok integracyjny (353)
  • ZarzÄ…dzanie schematem zależnoÅ›ci (355)
    • Tworzenie schematów zależnoÅ›ci (355)
    • Potokowanie schematów zależnoÅ›ci (357)
    • Kiedy powinniÅ›my wyzwalać kompilacje? (360)
    • Ostrożny optymizm (360)
    • ZależnoÅ›ci cykliczne (362)
  • ZarzÄ…dzanie binariami (363)
    • Jak powinno dziaÅ‚ać repozytorium artefaktów? (363)
    • W jaki sposób potok wdrożeÅ„ powinien wspóÅ‚dziaÅ‚ać z repozytorium artefaktów? (364)
  • ZarzÄ…dzanie zależnoÅ›ciami za pomocÄ… Mavena (365)
    • Refaktoryzacja zależnoÅ›ci Mavena (367)
  • Podsumowanie (368)

Rozdział 14. Zaawansowana kontrola wersji (369)

  • WstÄ™p (369)
  • Krótka historia kontroli wersji (370)
    • CVS (370)
    • Subversion (371)
    • Komercyjne systemy kontroli wersji (373)
    • WyÅ‚Ä…cz pesymistyczne blokowanie (373)
  • RozgaÅ‚Ä™zianie i scalanie (375)
    • Scalanie (376)
    • GaÅ‚Ä™zie, strumienie i ciÄ…gÅ‚a integracja (377)
  • Rozproszone systemy kontroli wersji (380)
    • Czym jest rozproszony system kontroli wersji? (380)
    • Krótka historia rozproszonego systemu kontroli wersji (382)
    • Rozproszone systemy kontroli wersji w Å›rodowiskach korporacyjnych (382)
    • Korzystanie z rozproszonych systemów kontroli wersji (383)
  • Strumieniowe systemy kontroli wersji (385)
    • Czym sÄ… strumieniowe systemy kontroli wersji? (385)
    • Modele wytwarzania oprogramowania z wykorzystaniem strumieni (387)
    • Widoki statyczne i dynamiczne (389)
    • CiÄ…gÅ‚a integracja z systemami kontroli wersji opartymi na strumieniach (389)
  • Programuj na gaÅ‚Ä™zi gÅ‚ównej projektu (390)
    • Dokonywanie zÅ‚ożonych zmian bez rozgaÅ‚Ä™ziania (391)
  • Gałąź na potrzeby wydania (393)
  • RozgaÅ‚Ä™zienia wedÅ‚ug kryterium funkcji (394)
  • RozgaÅ‚Ä™zianie pod kÄ…tem zespoÅ‚u (397)
  • Podsumowanie (400)

Rozdział 15. Zarządzanie ciągłym dostarczaniem oprogramowania (403)

  • WstÄ™p (403)
  • Model dojrzaÅ‚oÅ›ci zarzÄ…dzania konfiguracjÄ… i wydaniami (405)
    • Jak posÅ‚ugiwać siÄ™ modelem dojrzaÅ‚oÅ›ci (405)
  • Cykl życia projektu (407)
    • Identyfikacja (408)
    • ZapoczÄ…tkowywanie (409)
    • Inicjalizacja (410)
    • Wytwarzanie i wdrażanie (411)
    • Eksploatacja (414)
  • Proces zarzÄ…dzania ryzykiem (414)
    • Podstawy zarzÄ…dzania ryzykiem (415)
    • Harmonogram zarzÄ…dzania ryzykiem (415)
    • Jak wykonać ćwiczenie z zakresu zarzÄ…dzania ryzykiem? (416)
  • CzÄ™ste problemy z dostarczaniem oprogramowania - objawy i przyczyny (417)
    • Rzadkie lub wadliwe wdrożenia (418)
    • Kiepska jakość aplikacji (418)
    • Kiepsko zarzÄ…dzany proces ciÄ…gÅ‚ej integracji (420)
    • SÅ‚abe zarzÄ…dzanie konfiguracjÄ… (420)
  • Zgodność z regulacjami i audyt (421)
    • Przewaga automatyzacji nad dokumentacjÄ… (422)
    • Narzucanie możliwoÅ›ci Å›ledzenia zmian (422)
    • Praca w silosach (423)
    • ZarzÄ…dzanie zmianÄ… (424)
  • Podsumowanie (425)

Bibliografia (427)

Skorowidz (429)

Dodaj do koszyka Ciągłe dostarczanie oprogramowania. Automatyzacja kompilacji, testowania i wdrażania

Code, Publish & WebDesing by CATALIST.com.pl



(c) 2005-2024 CATALIST agencja interaktywna, znaki firmowe należą do wydawnictwa Helion S.A.