Wprowadzenie
Skuteczne strategie rozgałęziania Git mają podstawowe znaczenie dla pomyślnego dostarczania oprogramowania na dużą skalę. Ten moduł zawiera kompleksowe wskazówki dotyczące projektowania i implementowania rozgałęzionych przepływów pracy, które obsługują ciągłe dostarczanie, współpracę zespołową i kontrolę jakości. Dowiesz się, jak wybrać i wdrożyć odpowiedni model rozgałęziania dla potrzeb organizacji, niezależnie od tego, czy pracujesz z małymi zespołami agile, czy z dużymi organizacjami deweloperów w przedsiębiorstwie.
Dlaczego strategia rozgałęziania ma znaczenie
Nowoczesne zespoły programistyczne wymagają rozgałęziania strategii, które równoważą kilka krytycznych problemów:
- Szybkość programowania: umożliwia zespołom pracę niezależnie bez blokowania się nawzajem.
- Kontrola jakości: utrzymywanie jakości kodu poprzez systematyczne przeglądy i procesy testowania.
- Zarządzanie wydaniami: obsługa przewidywalnych, niezawodnych wydań oprogramowania.
- Ograniczenie ryzyka: izolowanie pracy eksperymentalnej i zapewnianie możliwości wycofywania.
- Wymagania dotyczące zgodności: spełniają standardy inspekcji i przepisów na potrzeby zarządzania zmianami.
Struktura strategii rozgałęziania przedsiębiorstwa
Zagadnienia strategiczne dotyczące wybierania modelu rozgałęziania:
| Czynnik | Wpływ na strategię | Pytania kluczowe |
|---|---|---|
| Rozmiar zespołu | Złożoność koordynacji i częstotliwość scalania | Ilu deweloperów pracuje jednocześnie? |
| Cykl wydania | Cykl życia gałęzi i czas integracji | Jak często wdrażasz w środowisku produkcyjnym? |
| Wymagania dotyczące jakości | Przeglądanie procesów i testowanie integracji | Jakiego poziomu bram jakości są potrzebne? |
| Wymagania dotyczące zgodności | Rejestry audytów i ścieżki akceptacji | Jakie wymagania prawne mają zastosowanie? |
Własne zespoły programistyczne firmy Microsoft przedstawiają te zasady na dużą skalę przy użyciu usługi GitHub Flow dla usług wymagających szybkiego wdrażania i bardziej ustrukturyzowanych podejść dla produktów korporacyjnych wymagających rozbudowanych cykli testowania.
Kompleksowe cele uczenia się
Po ukończeniu tego modułu poznasz podstawowe strategie rozgałęziania i będziesz w stanie wykonywać następujące czynności:
Projekt rozgałęziania strategicznego:
- Oceń i wybierz odpowiednie przepływy pracy rozgałęziania Git na podstawie rozmiaru zespołu, harmonogramu wydania i wymagań dotyczących jakości.
- Projektowanie strategii rozgałęziania , które obsługują ciągłe dostarczanie przy zachowaniu standardów jakości kodu i zgodności.
- Zaimplementuj polityki rozgałęziania w skali przedsiębiorstwa i ramy zarządzania.
Praktyczne umiejętności implementacji:
- Zaimplementuj przepływy pracy gałęzi funkcji z odpowiednią izolacją, przejrzyj procesy i strategie integracji.
- Konfigurowanie i zarządzanie Usługa GitHub Flow dla zespołów wymagających szybkiego, ciągłego wdrażania.
- Wykonaj przepływy pracy fork dla projektów open source i pracy zespołowej w rozproszonej strukturze.
- Ustal zabezpieczenia gałęzi i ograniczenia scalania, które wymuszają rygory jakości i wymagania dla przeglądów.
Wiedza na temat platformy:
- Wykorzystaj zaawansowane funkcje rozgałęziania Azure Repos dla środowisk deweloperskich na poziomie korporacyjnym.
- Zintegruj strategie rozgałęziania z potokami CI/CD i frameworkami testowymi.
- Monitorowanie i optymalizacja przepływów pracy w zakresie rozgałęziania dla produktywności zespołu i szybkości dostarczania przez zespół.
Samodzielna ocena: Oceń swoją gotowość do rozgałęziania
Podstawy usługi Git
- [ ] Czy rozumiesz podstawy usługi Git, takie jak zatwierdzenia, gałęzie i scalania?
- [ ] Czy znasz pojęcia dotyczące rozproszonej kontroli wersji?
- Czy wiesz, jak rozwiązywać konflikty przy scalaniu?
Środowisko tworzenia zespołu
- [ ] Czy pracowałeś w zespołach przy użyciu repozytoriów udostępnionych?
- [ ] Czy rozumiesz procesy przeglądu kodu i żądania ściągnięcia?
- [ ] Czy znasz pojęcia dotyczące ciągłej integracji?
Kontekst organizacyjny
- [ ] Czy twój zespół ma określone harmonogramy wydania lub wymagania dotyczące zgodności?
- [ ] Czy pracujesz z zespołami rozproszonymi w różnych strefach czasowych?
- [ ] Czy musisz koordynować pracę z wieloma zespołami lub współautorami zewnętrznymi?
Wymagania wstępne i przygotowanie
Podstawowa wiedza:
- Podstawy metodyki DevOps: zrozumienie zasad metodyki DevOps, ciągłej integracji i pojęć związanych z dostarczaniem.
- Podstawy kontroli wersji: Znajomość zasad kontroli wersji (korzystna, ale zapewniony kompleksowy przegląd).
- Doświadczenie w rozwoju oprogramowania: Praca w środowiskach zespołowych tworzenia oprogramowania.
Zalecane doświadczenie:
- Wiersz polecenia Git: podstawowa znajomość poleceń i pojęć związanych z Git.
- Przepływy pracy żądań ściągnięcia: doświadczenie w procesach przeglądu kodu.
- Świadomość CI/CD: Zrozumienie procesów zautomatyzowanej kompilacji i wdrażania.
Wymagana konfiguracja:
- Instalacja usługi Git: upewnij się, że usługa Git jest zainstalowana i skonfigurowana w środowisku deweloperów.
- Konto GitHub: dostęp do GitHub na potrzeby praktycznych ćwiczeń z nowoczesnymi sposobami rozgałęziania.
- Dostęp do usługi Azure DevOps: dostęp do organizacji na potrzeby ćwiczeń usługi Azure Repos (można go utworzyć podczas modułu).