Co to jest ciągłe dostarczanie?

Ukończone

W tym miejscu będziesz śledzić zespół tailspin, omawiający, jak potok ciągłego dostarczania (CD) może pomóc im w nadchodzącym wydaniu.

Zespół Tailspin zaczyna czuć się lepiej w procesie kompilacji. Mają zautomatyzowany proces uruchomiony w usłudze Azure Pipelines, co oznacza, że środowisko kompilacji jest stabilne. Amita wie natychmiast, kiedy musi przetestować artefakt. Znajduje mniej błędów, ponieważ Andy i Mara zaczęli dodawać testy jednostkowe i testy jakości kodu. Życie wygląda dobrze. Skonsultujmy się z członkami zespołu.

Poranne spotkanie

Zespół czeka na Irwina, menedżera produktu, który chce z nimi porozmawiać. Z niecierpliwością czekamy, aby powiedzieć mu o ich postępach. Ale kiedy Irwin idzie, nie wygląda szczęśliwy. Zaczyna od razu rozmawiać.

Irwin: Miałem dziś rano spotkanie z zespołem zarządzającym. Chcą wiedzieć, dlaczego trwa tak długo, aby opublikować nasze gry i strony internetowe. Nasi najbliżsi konkurenci otrzymują nowe funkcje i nowe gry tam znacznie szybciej niż robimy. Musimy przyspieszyć kwestie. Nie ostrzegam cię. Ostrzegam wszystkie zespoły. Co możemy zrobić, aby pomóc Zespołowi w szybszym wdrażaniu?

Andy: To jest trochę nagłe, ale jesteśmy trochę przed tobą. Automatyzowaliśmy sposób tworzenia naszych witryn internetowych. Być może nadszedł czas, aby rozszerzyć naszą automatyzację na nasz proces wydawania.

Irwin: Jak by to zrobić?

Mara: utworzyliśmy zautomatyzowany potok kompilacji przy użyciu usługi Azure Pipelines. Tworzy artefakt, który Amita może przetestować. Możemy również utworzyć potok ciągłego dostarczania (CD).

Irwin: Co to jest potok ciągłego wdrażania?

Mara zaczyna wyjaśniać, ale jest przerywany, gdy telefon komórkowy Irwina pada. Irwin czyta wiadomość sms i mruczy pod oddechem.

Irwin: Przykro mi, ale jest to pilne. Muszę iść. Dlaczego nie wszyscy dowiesz się, że ta firma CD i wkrótce wrócisz do mnie?

Andy rozgląda się nad swoim zespołem.

Andy: Kawa?

Andy i reszta zespołu udają się do kawiarni, aby utworzyć plan.

Co to jest ciągłe dostarczanie?

Zespół spotyka się z kawą, aby dowiedzieć się, jak skonfigurować przepływ pracy ciągłego dostarczania.

Andy: Mara, czy możesz nam powiedzieć, co wiesz o ciągłym dostarczanie?

Mara: Dla mnie ciągłe wdrażanie i metodyka DevOps są nierozłączene. Pamiętaj, że zdefiniowaliśmy metodyę DevOps jako związek osób, procesów i produktów, aby umożliwić ciągłe dostarczanie wartości naszym użytkownikom końcowym.

Samo cd jest zestawem procesów, narzędzi i technik, które umożliwiają szybkie, niezawodne i ciągłe dostarczanie oprogramowania. Dlatego ciągłe wdrażanie nie dotyczy tylko konfigurowania potoku, chociaż ta część jest ważna. Ciągłe wdrażanie dotyczy konfigurowania środowiska roboczego, w którym:

  • Mamy niezawodny i powtarzalny proces wydawania i wdrażania oprogramowania.
  • Automatyzujemy jak najwięcej.
  • Nie odkładamy robienia czegoś, co jest trudne lub bolesne; Zamiast tego robimy to częściej, aby dowiedzieć się, jak to rutynowe.
  • Utrzymujemy wszystko w kontroli źródła.
  • Wszyscy zgadzamy się, że zrobione oznacza zwolnienie.
  • Budujemy jakość w procesie. Jakość nigdy nie jest pokutą.
  • Wszyscy jesteśmy odpowiedzialni za proces wydawania. Nie pracujemy już w silosach.
  • Zawsze staramy się ulepszać.

Wprowadziliśmy już wiele z tych pomysłów i wszyscy zgadzamy się, że poprawili sposób pracy. Cd to rozszerzenie tego, co już rozpoczęliśmy.

Dlaczego potrzebuję ciągłego dostarczania?

Ciągłe wdrażanie ułatwia zespołom ds. oprogramowania dostarczanie niezawodnych aktualizacji oprogramowania klientom w szybkim tempie. Cd pomaga również zapewnić, że zarówno klienci, jak i uczestnicy projektu mają najnowsze funkcje i poprawki szybko.

Nadal słuchajmy w zespole, kiedy to mówią.

Andy: Dzięki, Mara. Potrzebujemy cd, ponieważ, jak wszyscy wiemy, świat się zmienił. Nowe funkcje są wydawane szybciej. Aktualizacje i poprawki błędów muszą być dostępne od razu. Nie jest to tylko nasze zarządzanie, które chce przyspieszyć nasze wydania. Zarządzanie po prostu reaguje na wymagania naszych klientów. Jeśli klienci nie mogą uzyskać tego, czego chcą od nas, pójdą gdzieś indziej.

Tim: Uzgodnione! Nie mogę się doczekać rozpoczęcia pracy.

Andy: Dzięki, wszyscy. Zamierzam zaproponować, że Mara i ja ułożyłem prosty dowód koncepcji (POC). Myślę, że wszystko będzie o wiele łatwiejsze do zrozumienia, jeśli można zobaczyć potok ciągłego wdrażania w działaniu.

Amita: Powodzenie, dwa.

Zespół opuszcza Andy'ego i Marę, aby wypracować szczegóły.

W jaki sposób ciągłe dostarczanie jest porównywane z publikowaniem prawym przyciskiem myszy?

Wiele narzędzi programistycznych udostępnia sposoby publikowania aplikacji bezpośrednio w środowisku docelowym, takim jak Microsoft Internet Information Services (IIS) lub Azure. Możesz na przykład opublikować aplikację ASP.NET Core na platformie Azure przy użyciu programu Visual Studio. Ten proces jest czasami nazywany publikowaniem prawym przyciskiem myszy.

Publikowanie prawym przyciskiem myszy to doskonały sposób na szybkie utworzenie prototypu. Możesz na przykład kliknąć prawym przyciskiem myszy aplikację na platformie Azure, aby udostępnić nowy pomysł zespołowi. Jednak ta technika ma ograniczenia.

Ciągłe dostarczanie zapewnia spójny sposób testowania, wdrażania i monitorowania aplikacji za każdym razem, gdy zaewidencjonujesz kod. Po kliknięciu prawym przyciskiem myszy aplikacji nie ma gwarancji, że kod został prawidłowo przetestowany lub będzie zachowywał się zgodnie z oczekiwaniami w przypadku rzeczywistego użycia.

W tym krótkim filmie Abel Wang, ambasador chmury w firmie Microsoft, wyjaśnia więcej.

Jak ciągłe dostarczanie jest porównywane z ciągłym wdrażaniem?

W społeczności metodyki DevOps możesz usłyszeć terminy ciągłego dostarczania i ciągłego wdrażania. Czy te terminy oznaczają to samo? W tym krótkim filmie Abel wyjaśnia różnicę.

Jakich narzędzi ciągłego dostarczania można używać?

Po zakończeniu spotkania Andy i Mara planują kolejne kroki. Używają usługi Azure Pipelines do tworzenia oprogramowania. Chcą rozważyć, jakie narzędzia, w tym usługę Azure Pipelines, są dostępne, aby ułatwić im proces wydawania.

Mara: Gdzie chcesz zacząć?

Andy: Najpierw musimy uzgodnić nasze narzędzie do zarządzania wydaniami. Upewnijmy się, że wybrane narzędzie:

  • Obsługuje nasz system kontroli wersji.
  • Można wdrożyć w wielu środowiskach, aby umożliwić testowanie i weryfikowanie naszej pracy.
  • Ułatwia definiowanie zadań wdrażania.
  • Jest łatwy do rozszerzenia.

Mara: Usługa Azure DevOps integruje się z kilkoma innymi rozwiązaniami ciągłej integracji i ciągłego wdrażania. Wiele rozwiązań jest tam i nie inwestujemy w żadne z nich. Gdybyśmy byli, sensowne byłoby użycie tego. Popularne systemy ciągłej integracji i ciągłego wdrażania to Jenkins, Circle CI, GitLab, Travis CI i Azure Pipelines.

Te narzędzia mają podobieństwa, ale każdy z nich ma również szczególne mocne strony. Niektóre z tych narzędzi to open source, niektóre są bezpłatne, a niektóre trzeba zapłacić za. Zapewniają one również wbudowane integracje z innymi narzędziami programowymi.

Na przykład usługa Jenkins to open source. Ma wiele wtyczek, a wiele firm go używa. Możesz uruchomić ciągłą integrację circle w chmurze lub lokalnie. Myślę, że musielibyśmy go dostosować. GitLab to pojedyncza aplikacja dla całego cyklu życia tworzenia oprogramowania. To może być większe niż chcemy teraz. Możemy nadal korzystać z usługi Azure Pipelines.

Oto krótki film wideo, w którym Abel opowiada o korzystaniu z najlepszych rozwiązań metodyki DevOps do wdrażania kodu na platformie Azure.

Mara: Moim głosowaniem jest pozostanie w usłudze Azure Pipelines.

Andy: Zgadzam się. Usługa Azure Pipelines pracowała dla nas do tej pory świetnie i nie musimy uczyć się innej nowej technologii.

Mara: Wielki. Zacznijmy od szczegółów potoku.

Andy i Mara przenoszą się do sali konferencyjnej, aby zaplanować potok cd.