Podsumowanie

Ukończone

W tym module wyjaśniono strategie wersjonowania pakietów, najlepsze praktyki wersjonowania oraz procesy promowania pakietów. Przedstawiono podstawowe pojęcia dotyczące zarządzania wersjami pakietów w całym cyklu tworzenia oprogramowania.

Czego się nauczyłeś

Wiesz już, jak opisać korzyści i użycie następujących elementów:

Implementowanie strategii przechowywania wersji

  • Ważność wersji: Zdaj sobie sprawę, dlaczego właściwe przechowywanie wersji ma kluczowe znaczenie dla zarządzania zależnościami i stabilności oprogramowania.
  • Niezmienne pakiety: Dowiedz się, że nie można zmienić opublikowanych pakietów; można wydać tylko nowe wersje.
  • Typy wersji: Informacje o przyrostach wersji głównych, pomocniczych i poprawek oraz o tym, kiedy należy ich używać.
  • Przechowywanie wersji specyficznych dla pakietu: Zaimplementuj przechowywanie wersji dla różnych typów pakietów (NuGet, npm, Maven, Python, Universal Packages).

Zrozumienie wersjonowania semantycznego

  • Format SemVer 2.0: Zastosuj obsługę wersji Major.Minor.Patch, aby zapewnić spójną komunikację.
  • Zmiany powodujące niezgodność: Używanie wersji głównych do sygnalizowania niezgodnych zmian interfejsu API.
  • Nowe funkcje: Używaj wersji pomocniczych dla dodatków zgodnych z poprzednimi wersjami.
  • Poprawki: Użyj wersji poprawek dla poprawek zgodnych z poprzednimi wersjami.
  • Etykiety wersji wstępnej: Użyj etykiet (alpha, beta, rc), aby wskazać jakość wersji wstępnej.
  • Pierwszeństwo wersji: Dowiedz się, jak wersje są porównywane i uporządkowane.

Korzystanie z widoków usługi Azure Artifacts

  • Trzy widoki domyślne: Korzystaj z @Localwidoków , @Prereleasei @Release .
  • @Local view: Zawiera wszystkie pakiety, w tym te z źródeł nadrzędnych.
  • widok @Prerelease: Filtruje pakiety z etykietami wersji wstępnej.
  • widok @Release: Pokazuje tylko pakiety gotowe do produkcji.
  • Identyfikatory URI specyficzne dla widoku: Skonfiguruj odbiorców pakietów, aby używali określonych widoków.
  • Widoki niestandardowe: Utwórz dodatkowe widoki dla bardziej szczegółowego poziomu jakości.

Promowanie pakietów

  • Bramy jakości: Użyj promocji, aby przesuwać pakiety przez różne poziomy jakości.
  • Przepływ pracy promocji: Zaimplementuj @Local → @Prerelease → @Release postęp.
  • Automatyczne podwyższanie poziomu: Zadania usługi Azure Pipelines umożliwiają automatyzowanie podwyższania poziomu na podstawie wyników testów.
  • Ręczna promocja: Stosowanie ręcznych bram zatwierdzania dla pakietów krytycznych.
  • Ochrona przechowywania: Dowiedz się, że promowane pakiety są chronione przed usunięciem.
  • Pakiety źródłowe: Zarządzanie promocją buforowanych pakietów źródłowych.

Wypychanie paczek z ciągów przetwarzania

  • Automatyczne publikowanie: Skonfiguruj potoki kompilacji, aby automatycznie publikować pakiety w kanałach dystrybucji.
  • Generowanie wersji: Zaimplementuj automatyczne generowanie numeru wersji w CI/CD.
  • Metadane pakietu: Uwzględnij kompleksowe metadane w pakietach.
  • Tagowanie kodu źródłowego: Oznacz kod źródłowy wersjami pakietów dla łatwego śledzenia.

Stosowanie najlepszych rozwiązań

  • Udokumentowana strategia: Utrzymuj pisemną dokumentację strategii wersjonowania.
  • Zastosowanie SemVer: Standaryzacja na wersjonowanie semantyczne 2.0.
  • Pojedyncze źródło danych na repozytorium: Skonfiguruj każde repozytorium tak, aby odwoływać się tylko do jednego źródła danych.
  • Automatyczne publikowanie: Automatyczne publikowanie pakietów podczas tworzenia.
  • Przetestuj przed promocją: Zawsze testuj pakiety przed promocją do wyższych widoków.
  • Wyrównanie zespołu: Integrowanie wersji z definicją gotowej wersji.

Podsumowanie kluczowych pojęć

Niezmienność wersji

  • Nigdy nie zmieniaj opublikowanych wersji: Opublikowane pakiety są niezmienne.
  • Zawsze twórz nowe wersje: Każda zmiana wymaga nowego numeru wersji.
  • Zaufanie i niezawodność: Konsumenci ufają, że wersje nie zmieniają się.

Semantyczne zasady przechowywania wersji

  • Major.Minor.Patch: Trzyczęściowy numer wersji.
  • Wyczyść komunikację: Numer wersji wskazuje zakres zmian.
  • Zgodność z poprzednimi wersjami: Drobne i poprawki zachowują zgodność.
  • Etykiety wersji wstępnej: Wskazują poziom jakości za pomocą etykiet.

Widoki usługi Azure Artifacts

  • Wskaźniki jakości: Przeglądy rozdzielają pakiety według poziomu jakości.
  • Przepływ pracy promocji: Eksplitywna promocja przenosi pakiety przez widoki.
  • Wybór konsumenta: Konsumenci wybierają widok na podstawie tolerancji ryzyka.
  • Ochrona przechowywania: Promowane pakiety chronione przed usunięciem.

Korzyści z automatyzacji

  • Konsystencja: Zautomatyzowane procesy zmniejszają liczbę błędów ludzkich.
  • Szybkość: Szybsze cykle wydawania dzięki automatyzacji.
  • Bramy jakości: Testowanie automatyczne przed podwyższeniem poziomu.
  • Identyfikowalność: Każda kompilacja tworzy artefakt możliwy do śledzenia.

Dalsze kroki

Kontynuuj szkolenie

Zwiększ swoje umiejętności dotyczące przechowywania wersji:

  • Zaawansowane przepływy pracy promowania: Zaimplementuj promowanie wieloetapowe z bramami zatwierdzania.
  • Zarządzanie zakresem wersji: Zrozumienie zakresów wersji zależności i ograniczeń.
  • Strategie rozgałęziania: Dopasuj wersjonowanie do strategii rozgałęziania (Gitflow, trunk-based).
  • Wersjonowanie poprawek: Poprawnie zarządzaj poprawkami i backportami.

Poznaj zaawansowane scenariusze:

  • Wersjonowanie monorepo: Wersjonuj pakiety w repozytoriach monorepo.
  • Zarządzanie zmianami naruszającymi zgodność: Strategie dotyczące wycofywania i usuwania funkcji.
  • Przypinanie wersji: Kontrolowanie, kiedy konsumenci przyjmują nowe wersje.
  • Automatyzacja dziennika zmian: Automatycznie generuj dzienniki zmian na podstawie zatwierdzeń.

Aplikacja praktyczna

Rozpocznij implementowanie:

  1. Dokumentowanie strategii: Pisanie wytycznych dotyczących przechowywania wersji dla zespołu.
  2. Adopt SemVer 2.0: Standandaryzuj przechowywanie wersji semantycznych.
  3. Skonfiguruj kanały i widoki: Skonfiguruj widoki @Local, @Prerelease i @Release.
  4. Automatyzowanie przechowywania wersji: Implementowanie zautomatyzowanego generowania wersji w potokach kompilacji.
  5. Konfigurowanie przepływów pracy promowania: Definiowanie i automatyzowanie promowania pakietu.
  6. Trenowanie zespołu: Upewnij się, że wszyscy rozumieją i postępują zgodnie ze strategią przechowywania wersji.

Integracja z praktykami metodyki DevOps

Przechowywanie wersji w przepływach pracy metodyki DevOps:

  • Ciągła integracja: Automatyzowanie tworzenia i publikowania pakietów.
  • Ciągłe dostarczanie: Użyj przepływów pracy promocyjnej dla kontrolowanych wydań.
  • Infrastruktura jako kod: Wersjonowanie pakietów infrastruktury obok pakietów aplikacji.
  • Flagi funkcji: Połącz wersjonowanie z flagami funkcji, aby stopniowo wprowadzać zmiany.

Dowiedz się więcej

Oficjalna dokumentacja

Dodatkowe zasoby

Przewodniki specyficzne dla typu pakietu

Narzędzia i automatyzacja

Społeczność i wsparcie

  • Dokumentacja usługi Azure DevOps: Zapoznaj się z kompleksowymi przewodnikami i samouczkami.
  • Microsoft Q&A: Zadaj pytania i uzyskaj odpowiedzi od społeczności.
  • Blog usługi Azure DevOps: Bądź na bieżąco z najnowszymi funkcjami i najlepszymi rozwiązaniami.
  • Przykłady w usłudze GitHub: Zapoznaj się z przykładowymi potokami i konfiguracjami.