Ciągła integracja i ciągłe dostarczanie (tworzenie aplikacji Real-World w chmurze za pomocą platformy Azure)
Autor: Rick Anderson, Tom Dykstra
Pobierz poprawkę projektu lub pobierz książkę elektroniczną
Książka elektroniczna Building Real World Cloud Apps with Azure (Tworzenie rzeczywistych aplikacji w chmurze za pomocą usługi Azure ) opiera się na prezentacji opracowanej przez Scotta Guthrie'ego. Wyjaśniono w nim 13 wzorców i praktyk, które mogą pomóc w pomyślnym tworzeniu aplikacji internetowych dla chmury. Aby uzyskać informacje o książce elektronicznej, zobacz pierwszy rozdział.
Pierwsze dwa zalecane wzorce procesów programowania to Automate Everything and Source Control, a trzeci wzorzec procesu łączy je. Ciągła integracja oznacza, że za każdym razem, gdy deweloper zaewidencjonuje kod w repozytorium źródłowym, kompilacja zostanie automatycznie wyzwolona. Ciągłe dostarczanie (CD) wykonuje ten krok dalej: po pomyślnym zakończeniu kompilacji i zautomatyzowanych testów jednostkowych automatycznie wdrożysz aplikację w środowisku, w którym można wykonać bardziej szczegółowe testy.
Chmura umożliwia zminimalizowanie kosztów utrzymania środowiska testowego, ponieważ płacisz tylko za zasoby środowiska, o ile ich używasz. Proces ciągłego wdrażania umożliwia skonfigurowanie środowiska testowego w razie potrzeby i usunięcie środowiska po zakończeniu testowania.
Przepływ pracy ciągłej integracji i ciągłego dostarczania
Ogólnie zalecamy ciągłe dostarczanie do środowisk deweloperskich i przejściowych. Większość zespołów, nawet w firmie Microsoft, wymaga ręcznego przeglądu i procesu zatwierdzania wdrożenia produkcyjnego. W przypadku wdrożenia produkcyjnego warto upewnić się, że dzieje się tak, gdy kluczowi użytkownicy zespołu deweloperów są dostępni do pomocy technicznej lub w okresach niskiego ruchu. Ale nie ma nic, aby zapobiec całkowitej automatyzacji środowisk programistycznych i testowych, aby wszyscy deweloper musiał to zrobić, to zaewidencjonować zmianę, a środowisko jest skonfigurowane do testowania akceptacji.
Na poniższym diagramie z książki elektronicznej Microsoft Patterns and Practices na temat ciągłego dostarczania przedstawiono typowy przepływ pracy. Kliknij obraz, aby zobaczyć jego pełny rozmiar w oryginalnym kontekście.
Jak chmura umożliwia opłacalną ciągłą integrację i ciągłe wdrażanie
Automatyzacja tych procesów na platformie Azure jest łatwa. Ponieważ uruchamiasz wszystko w chmurze, nie musisz kupować serwerów ani zarządzać nimi dla kompilacji ani środowisk testowych. I nie musisz czekać, aż serwer będzie dostępny do wykonania testów. Dzięki każdej kompilacji, którą wykonasz, możesz uruchomić środowisko testowe na platformie Azure przy użyciu skryptu automatyzacji, uruchomić testy akceptacyjnych lub bardziej szczegółowe testy, a następnie po zakończeniu po prostu go usunąć. A jeśli korzystasz tylko z tego serwera przez 2 godziny lub 8 godzin lub dzień, kwota pieniędzy, za które trzeba zapłacić, jest minimalna, ponieważ płacisz tylko za czas, przez który maszyna jest rzeczywiście uruchomiona. Na przykład środowisko wymagane dla aplikacji Fix it w zasadzie kosztuje około 1 procent na godzinę, jeśli przejdziesz jedną warstwę w górę z poziomu bezpłatnego. W ciągu miesiąca, jeśli uruchamiasz środowisko tylko godzinę w czasie, środowisko testowe prawdopodobnie będzie kosztować mniej niż latte, które kupujesz w Starbucks.
Usługa Azure DevOps Services
Azure DevOps Services oferuje szereg funkcji ułatwiania tworzenia aplikacji od planowania do wdrożenia.
- Obsługuje zarówno usługę Git (rozproszoną), jak i kontrolę źródła serwera TFVC (scentralizowaną).
- Oferuje ona elastyczną usługę kompilacji, co oznacza, że dynamicznie tworzy serwery kompilacji, gdy są potrzebne i wyłącza je po zakończeniu. Możesz automatycznie rozpocząć kompilację, gdy ktoś zaewidencjonuje zmiany kodu źródłowego i nie musisz przydzielać i płacić za własne serwery kompilacji, które są bezczynne przez większość czasu. Usługa kompilacji jest bezpłatna, o ile nie przekraczasz określonej liczby kompilacji. Jeśli spodziewasz się dużej liczby kompilacji, możesz zapłacić trochę więcej za zarezerwowane serwery kompilacji.
- Obsługuje ciągłe dostarczanie na platformę Azure.
- Obsługuje automatyczne testowanie obciążenia. Testowanie obciążenia ma kluczowe znaczenie dla aplikacji w chmurze, ale często jest zaniedbane, dopóki nie będzie za późno. Testowanie obciążenia symuluje duże wykorzystanie aplikacji przez tysiące użytkowników, co umożliwia znalezienie wąskich gardeł i zwiększenie przepływności — przed wydaniem aplikacji do środowiska produkcyjnego.
- Obsługuje współpracę w pokoju zespołowym, która ułatwia komunikację i współpracę w czasie rzeczywistym dla małych zespołów agile.
- Obsługuje zwinne zarządzanie projektami.
Aby uzyskać więcej informacji na temat funkcji ciągłej integracji i dostarczania Azure DevOps Services, zobacz dokumentację usługi Azure DevOps.
Jeśli szukasz kluczowego rozwiązania do zarządzania projektami, współpracy zespołowej i kontroli źródła, zapoznaj się z Azure DevOps Services. Zarejestruj się w Azure DevOps Services.
Podsumowanie
Pierwsze trzy wzorce programowania w chmurze dotyczą sposobu implementowania powtarzalnego, niezawodnego, przewidywalnego procesu programowania z niskim czasem cyklu. W następnym rozdziale zaczniemy patrzeć na wzorce architektury i kodowania.
Zasoby
Aby uzyskać więcej informacji, zobacz Wdrażanie aplikacji internetowej w Azure App Service.
Zobacz również następujące zasoby:
- Tworzenie potoku wydania za pomocą serwera Team Foundation Server 2012. Książka elektroniczna, praktyczne laboratoria i przykładowy kod firmy Microsoft patterns and Practices udostępnia szczegółowe wprowadzenie do ciągłego dostarczania. Obejmuje korzystanie z programu Visual Studio Lab Management i programu Visual Studio Release Management.
- Alm Rangers DevOps Tooling and Guidance (Narzędzia i wskazówki dotyczące metodyki ALM Rangers DevOps). Alm Rangers wprowadził przykładowe rozwiązanie towarzyszące DevOps Workbench i praktyczne wskazówki we współpracy z książką Patterns & Practices Building a Release Pipeline with TFS 2012 (Tworzenie potoku wydania z programem TFS 2012) jako doskonały sposób na rozpoczęcie uczenia się koncepcji metodyki DevOps & Release Management dla serwera TFS 2012 i kopania opon. Wskazówki pokazują, jak utworzyć raz i wdrożyć w wielu środowiskach.
- Testowanie ciągłego dostarczania za pomocą programu Visual Studio 2012. Książka elektroniczna firmy Microsoft Patterns and Practices wyjaśnia, jak zintegrować zautomatyzowane testowanie z ciągłym dostarczaniem.
- WindowsAzureDeploymentTracker. Kod źródłowy narzędzia służącego do przechwytywania kompilacji z serwera TFS (opartego na etykiecie), kompilowania go, tworzenia go w pakiecie, zezwalania komuś w roli DevOps na konfigurowanie określonych aspektów i wypychanie go na platformę Azure. Narzędzie śledzi proces wdrażania, aby umożliwić operacjom "wycofywanie" do wcześniej wdrożonej wersji. Narzędzie nie ma zależności zewnętrznych i może działać autonomicznie przy użyciu interfejsów API TFS i zestawu Azure SDK.
- Ciągłe dostarczanie: niezawodne wersje oprogramowania za pośrednictwem automatyzacji kompilacji, testowania i wdrażania. Książka Jez Humble.
- Zwolnij go! Projektowanie i wdrażanie oprogramowania Production-Ready. Książka MichaelA T. Nygarda.
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla