Ciągłe dostarczanie oprogramowania. Automatyzacja kompilacji, testowania i wdrażania - Helion
Tytuł oryginału: Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation
TÅ‚umaczenie: Dorota Konowrocka-Sawa
ISBN: 978-83-246-9921-6
stron: 440, Format: ebook
Data wydania: 2015-01-22
Księgarnia: Helion
Cena książki: 44,50 zł (poprzednio: 89,00 zł)
Oszczędzasz: 50% (-44,50 zł)
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!
Osoby które kupowały "Ciągłe dostarczanie oprogramowania. Automatyzacja kompilacji, testowania i wdrażania", wybierały także:
- Ruby on Rails. Ćwiczenia 18,75 zł, (3,00 zł -84%)
- Zen Steve'a Jobsa 29,67 zł, (8,90 zł -70%)
- ASP.NET MVC. Kompletny przewodnik dla programistów interaktywnych aplikacji internetowych w Visual Studio 86,77 zł, (26,90 zł -69%)
- TDD. Sztuka tworzenia dobrego kodu 48,54 zł, (19,90 zł -59%)
- GitHub. Przyjazny przewodnik 32,90 zł, (16,45 zł -50%)
Spis treści
Ciągłe dostarczanie oprogramowania. Automatyzacja kompilacji, testowania i wdrażania eBook -- 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)