Wprowadzenie

Zakończone

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).