W tym odcinku znajdziesz odpowiedzi na pytania:
Czym jest CI?
Dlaczego jest to ważne dla każdego zespołu programistycznego?
Jakie są kluczowe elementy każdego CI?
Gdzie trzymany jest kod?
Czym są gałęzie?
Jakie są dobre praktyki ciągłej integracji?
Co z zakresu CI warto wiedzieć jako Scrum Master?
Jakie pytania warto zadać jako Scrum Master zespołowi deweloperskiemu?
Continuous Integration, CI, Ciągła Integracja
Repozytorium Kodu, Code repository, Repo
Version Control, Kontrola Wersji
GitLab, GitHub, Bitbucket
Gałąź, branch, branching strategy
Gałąź główna, main, trunk, default
Checkout
Build
Wersja
Kod źródłowy, zależności, artefakty, pliki konfiguracyjne
Merge
Testy automatyczne
Statyczna analiza kodu
Środowisko produkcyjne
Budowanie aplikacji lokalnie
Kod źródłowy, pliki konfiguracyjne, skrypty, biblioteki, zależności, artefakty - wszystko co jest potrzebne do zbudowania wersji aplikacji, jest w Waszym wspólnym repozytorium
Prosty sposób na sprawdzenie - jeśli na czystym komputerze odpalimy nasze repozytorium i zrobimy checkout, to czy uda nam się zbudować aplikację
Dokładaj swoje zmiany często i regularnie, najlepiej codziennie
Wprowadzenie zmiany powinno odpalać build i testy automatyczne
Zbudowanie wersji produkcyjnej powinno być możliwe tylko poprzez wspólne CI
Prosty check - czy zdarzyło się, że ktoś zbudował wersję lokalnie i wdrożył ją na produkcję?
Pytania, które może zadać SM:
Jak wygląda proces integrowania kodu, jaką mamy strategię zarządzania gałęziami?
Ile mamy aktywnych gałęzi?
Ile średnio “żyje” gałąź?
Jak często merge’ujecie kod?
Ile czasu zajmuje rozwiązania konfliktów przy merge'ach?
Jakie testy są odpalane przy merge'u?
Czy dana zmiana działa end-to-end, jak to sprawdziliście?
Czy da się obejść pipeline’y i zbudować aplikację produkcyjną lokalnie. Kiedy ostatnim razem ktoś taką wersję wdrożył na produkcję?