Udostępnij za pośrednictwem


Automatyzowanie kompilowania i wdrażania dla standardowych przepływów pracy aplikacji logiki za pomocą usługi Azure DevOps

W przypadku standardowych przepływów pracy aplikacji logiki, które działają w usłudze Azure Logic Apps z jedną dzierżawą, można użyć programu Visual Studio Code z rozszerzeniem azure Logic Apps (Standard), aby lokalnie opracowywać, testować i przechowywać projekt aplikacji logiki przy użyciu dowolnego systemu kontroli źródła. Aby jednak uzyskać pełne korzyści z łatwego i spójnego wdrażania przepływów pracy w różnych środowiskach i platformach, należy również zautomatyzować proces kompilowania i wdrażania.

Rozszerzenie Azure Logic Apps (Standard) udostępnia narzędzia umożliwiające tworzenie i konserwowanie zautomatyzowanych procesów kompilacji i wdrażania przy użyciu usługi Azure DevOps. Jednak przed rozpoczęciem tej automatyzacji należy wziąć pod uwagę następujące elementy:

  • Zasób aplikacji logiki platformy Azure, w którym tworzysz przepływy pracy

  • Połączenia hostowane na platformie Azure, z których korzystają przepływy pracy, i są tworzone na podstawie łączników zarządzanych przez firmę Microsoft.

    Te połączenia różnią się od połączeń, które są uruchamiane bezpośrednio i natywnie w środowisku uruchomieniowym usługi Azure Logic Apps.

  • Określone ustawienia i parametry dla różnych środowisk, w których chcesz wdrożyć

Rozszerzenie pomaga wykonać następujące wymagane zadania w celu zautomatyzowania kompilacji i wdrażania:

  • Parametryzowanie odwołań do połączeń w czasie projektowania. To zadanie upraszcza proces aktualizowania odwołań w różnych środowiskach bez przerywania lokalnych funkcji programowania.

  • Generuj skrypty automatyzujące wdrażanie zasobu aplikacji logiki w warstwie Standardowa, w tym wszystkie zasoby zależne.

  • Generuj skrypty automatyzujące wdrażanie połączeń hostowanych na platformie Azure.

  • Przygotuj parametry specyficzne dla środowiska, które można wprowadzić do pakietu usługi Azure Logic Apps podczas procesu kompilacji bez przerywania lokalnych funkcji programowania.

  • Generowanie potoków na żądanie przy użyciu usługi Azure DevOps w celu obsługi wdrażania infrastruktury wraz z procesami kompilacji i wydania.

W tym przewodniku pokazano, jak wykonać następujące zadania:

  1. Utwórz obszar roboczy aplikacji logiki i projekt w programie Visual Studio Code zawierający pliki, które tworzą potoki na potrzeby wdrażania infrastruktury, ciągłej integracji i ciągłego wdrażania (CD).

  2. Utwórz połączenie między obszarem roboczym i repozytorium Git w usłudze Azure DevOps.

  3. Tworzenie potoków w usłudze Azure DevOps.

Więcej informacji można znaleźć w następującej dokumentacji:

Znane problemy i ograniczenia

  • Ta funkcja obsługuje tylko standardowe projekty aplikacji logiki. Jeśli obszar roboczy programu Visual Studio Code zawiera zarówno projekt standardowej aplikacji logiki, jak i projekt kodu niestandardowego usługi Functions, oba skrypty wdrażania są generowane, ale niestandardowe projekty kodu są obecnie ignorowane. Możliwość tworzenia potoków kompilacji dla kodu niestandardowego jest dostępna w harmonogramie działania.

  • Rozszerzenie tworzy potoki na potrzeby wdrażania infrastruktury, ciągłej integracji i ciągłego wdrażania (CD). Jednak odpowiadasz za łączenie potoków z usługą Azure DevOps i tworzenie odpowiednich wyzwalaczy.

  • Obecnie rozszerzenie obsługuje tylko szablony usługi Azure Resource Management (szablony usługi ARM) dla skryptów wdrażania infrastruktury. Inne szablony są w planowaniu.

Wymagania wstępne

Tworzenie obszaru roboczego, projektu i przepływu pracy aplikacji logiki

  1. Na pasku Działania w programie Visual Studio Code wybierz ikonę platformy Azure.

  2. W oknie platformy Azure na pasku narzędzi Obszar roboczy otwórz menu Usługi Azure Logic Apps i wybierz pozycję Utwórz nowy obszar roboczy aplikacji logiki.

    Zrzut ekranu przedstawiający program Visual Studio Code, ikonę platformy Azure wybraną w menu po lewej stronie, sekcję Obszar roboczy i wybraną opcję Utwórz nowy obszar roboczy aplikacji logiki.

  3. Postępuj zgodnie z monitami, aby wykonać następujące zadania:

    1. Wybierz folder, aby utworzyć obszar roboczy.

    2. Wprowadź nazwę obszaru roboczego.

    3. Wybierz typ projektu: Aplikacja logiki

    4. Wprowadź nazwę projektu aplikacji logiki.

    5. Wybierz szablon przepływu pracy. Wprowadź nazwę przepływu pracy.

    6. Wybierz, czy chcesz otworzyć obszar roboczy w bieżącym oknie programu Visual Studio Code, czy w nowym oknie.

      Program Visual Studio Code pokazuje nowy obszar roboczy i projekt aplikacji logiki.

  4. Wykonaj następujące kroki, aby otworzyć projektanta przepływu pracy:

    1. W projekcie aplikacji logiki rozwiń folder o nazwie przepływu pracy.

    2. Jeśli plik nie jest jeszcze otwarty, otwórz plik workflow.json , otwórz menu skrótów pliku i wybierz pozycję Otwórz projektanta.

    3. Po wyświetleniu monitu o zezwolenie na parametryzację połączeń podczas ładowania projektu wybierz pozycję Tak.

      Ten wybór umożliwia projektowi używanie parametrów w definicjach połączeń, dzięki czemu można zautomatyzować kompilowanie i wdrażanie dla różnych środowisk.

    4. Postępuj zgodnie z monitami, aby wybrać następujące elementy:

      • Używanie łączników z platformy Azure

        Uwaga

        Jeśli pominiesz ten krok, możesz użyć tylko wbudowanych łączników hostowanych w czasie wykonywania. Aby włączyć łączniki zarządzane przez firmę Microsoft, hostowane na platformie Azure w późniejszym czasie, wykonaj następujące kroki:

        1. Otwórz menu skrótów dla pliku workflow.json i wybierz pozycję Użyj łączników z platformy Azure.

        2. Wybierz istniejącą grupę zasobów platformy Azure, której chcesz użyć dla aplikacji logiki.

        3. Załaduj ponownie projektanta przepływu pracy.

      • Istniejąca grupa zasobów platformy Azure, której chcesz użyć dla aplikacji logiki

  5. Po zakończeniu załaduj ponownie projektanta przepływu pracy. Jeśli zostanie wyświetlony monit, zaloguj się do platformy Azure.

    Zrzut ekranu przedstawiający program Visual Studio Code, ikonę Eksploratora wybraną w menu po lewej stronie, projekt aplikacji logiki i projektant przepływu pracy.

Teraz możesz edytować przepływ pracy w dowolny sposób i lokalnie przetestować przepływ pracy po drodze. Aby utworzyć i przetestować przykładowy przepływ pracy, zobacz Tworzenie standardowych przepływów pracy za pomocą programu Visual Studio Code.

Generowanie skryptów wdrażania

Po utworzeniu i lokalnie przetestowaniu przepływu pracy utwórz skrypty wdrażania.

  1. W pustym obszarze we wszystkich plikach projektu otwórz menu skrótów projektu i wybierz pozycję Generuj skrypty wdrażania.

    Zrzut ekranu przedstawiający program Visual Studio Code, ikonę Eksploratora wybraną w menu po lewej stronie, projekt aplikacji logiki, otwarte menu skrótów okna projektu i wybraną opcję Wygeneruj skrypty wdrażania.

  2. Postępuj zgodnie z monitami, aby wykonać następujące kroki:

    1. Wybierz istniejącą grupę zasobów platformy Azure, która ma być używana dla aplikacji logiki.

    2. Wprowadź unikatową nazwę zasobu aplikacji logiki.

    3. Wprowadź unikatową nazwę zasobu konta magazynu.

    4. Wprowadź unikatową nazwę do użycia dla planu usługi App Service.

    5. Wybierz folder obszaru roboczego, w którym chcesz wygenerować pliki.

      Lokalizacja folderu wdrożenia opis
      Nowy folder wdrożenia (ustawienie domyślne) Utwórz nowy folder w bieżącym obszarze roboczym.
      Wybierz inny folder Wybierz inny folder w bieżącym obszarze roboczym.

    Po zakończeniu program Visual Studio Code tworzy folder o nazwie deployment/{logic-app-name} w katalogu głównym obszaru roboczego. Ten folder używa tej samej nazwy aplikacji logiki podanej w tych krokach.

    Uwaga

    Wartości zmiennych, ustawień aplikacji i parametrów w poniższych plikach są wstępnie wypełniane na podstawie danych wejściowych podanych w tych krokach. Podczas kierowania do innego środowiska upewnij się, że zaktualizowano wartości dla utworzonych parametrów i plików zmiennych.

    Zrzut ekranu przedstawiający program Visual Studio Code, ikonę Eksploratora wybraną w menu po lewej stronie, projekt aplikacji logiki i wyróżniony folder skryptów wdrażania z zawartością.

    W folderze {logic-app-name} masz następującą strukturę:

    Nazwa folderu Nazwa i opis pliku
    ADOPipelineScripts - CD-pipeline.yml: potok ciągłego dostarczania zawierający instrukcje wdrażania kodu aplikacji logiki do zasobu aplikacji logiki na platformie Azure.

    - CD-pipeline-variables.yml: plik YAML zawierający zmienne używane przez plik CD-pipeline.yml.

    - CI-pipeline.yml: potok ciągłej integracji zawierający instrukcje dotyczące kompilowania i generowania artefaktów wymaganych do wdrożenia zasobu aplikacji logiki na platformie Azure.

    - CI-pipeline-variables.yml: plik YAML zawierający zmienne używane przez plik CI-pipeline.yml.

    - infrastructure-pipeline.yml: potok YAML "Infrastruktura jako kod", który zawiera instrukcje ładowania wszystkich szablonów usługi ARM na platformę Azure i wykonywania kroków w pliku infrastructure-pipeline-template.yml.

    - infrastructure-pipeline-template.yml: plik potoku YAML zawierający kroki wdrażania zasobu aplikacji logiki z wszystkimi wymaganymi zależnościami i wdrażania każdego zarządzanego połączenia wymaganego przez kod źródłowy.

    - infrastructure-pipeline-variables.yml: potok YAML zawierający wszystkie zmienne wymagane do wykonania kroków w pliku infrastructure-pipeline-template.yml.
    ArmTemplates - {connection-type}.parameters.json: plik parametrów usługi Resource Manager zawierający parametry wymagane do wdrożenia połączenia hostowanego na platformie Azure o nazwie {connection-type} na platformie Azure. Ten plik istnieje dla każdego połączenia hostowanego na platformie Azure w przepływie pracy.

    - {connection-type}.template.json: plik szablonu usługi Resource Manager reprezentujący połączenie hostowane na platformie Azure o nazwie {connection-reference} i zawiera informacje używane do wdrożenia odpowiedniego zasobu połączenia na platformie Azure. Ten plik istnieje dla każdego połączenia hostowanego na platformie Azure w przepływie pracy.

    - {logic-app-name}.parameters.json: plik parametrów usługi Resource Manager zawierający parametry wymagane do wdrożenia zasobu standardowej aplikacji logiki o nazwie {logic-app-name} na platformie Azure, w tym wszystkie zależności.

    - {logic-app-name}.template.json: plik szablonu usługi Resource Manager reprezentujący zasób standardowej aplikacji logiki o nazwie {logic-app-name} i zawiera informacje używane do wdrażania zasobu aplikacji logiki na platformie Azure.
    Parametry przepływu pracy parameters.json: Ten plik JSON jest kopią pliku parametrów lokalnych i zawiera kopię wszystkich parametrów zdefiniowanych przez użytkownika oraz wersję chmury wszystkich parametrów utworzonych przez rozszerzenie w celu sparametryzowania połączeń hostowanych na platformie Azure. Ten plik służy do kompilowania pakietu, który jest wdrażany na platformie Azure.

Łączenie obszaru roboczego z repozytorium Git

  1. Wykonaj następujące kroki, aby zainicjować repozytorium:

    1. W programie Visual Studio Code na pasku Działania wybierz ikonę Kontrola źródła.

    2. W oknie Kontrola źródła wybierz pozycję Zainicjuj repozytorium.

    3. Z menu monitu wybierz pozycję Wybierz folder. Wybierz folder główny obszaru roboczego, a następnie wybierz pozycję Zainicjuj repozytorium.

      Zrzut ekranu przedstawiający program Visual Studio Code, okno kontroli źródła i wybraną opcję o nazwie Initialize Repository (Inicjowanie repozytorium).

    4. W oknie Kontrola źródła wybierz pozycję Otwórz repozytorium.

    5. W menu monitu wybierz właśnie utworzone repozytorium.

    Aby uzyskać więcej informacji, zobacz Visual Studio Code — inicjowanie repozytorium w folderze lokalnym.

  2. Wykonaj następujące kroki, aby uzyskać adres URL repozytorium Git, aby można było dodać zdalny adres URL:

    1. W usłudze Azure DevOps otwórz projekt zespołowy dla organizacji usługi Azure DevOps.

    2. W menu po lewej stronie rozwiń pozycję Repozytoria i wybierz pozycję Pliki.

    3. Na pasku narzędzi okienka Pliki wybierz pozycję Klonuj.

      Zrzut ekranu przedstawiający projekt zespołowy usługi Azure DevOps, repozytorium Git i wybraną opcję o nazwie Clone (Klonuj).

    4. W oknie Klonowanie repozytorium skopiuj wersję HTTPS adresu URL klonu.

      Aby uzyskać więcej informacji, zobacz Pobieranie adresu URL klonowania repozytorium Git w usłudze Azure Repos.

  3. Wykonaj następujące kroki, aby dodać zdalne repozytorium Git:

    1. Wróć do programu Visual Studio Code i do okna Kontrola źródła.

    2. W obszarze Repozytoria kontroli źródła na pasku narzędzi repozytorium otwórz menu wielokropka (...) i wybierz pozycję Zdalne>dodaj zdalne.

      Zrzut ekranu przedstawiający program Visual Studio Code, okno kontroli źródła i wybraną opcję o nazwie Dodaj zdalnie.

  4. W wierszu polecenia wklej skopiowany adres URL i wprowadź nazwę zdalnego, która jest zwykle źródłem.

    Utworzono połączenie między programem Visual Studio Code i repozytorium.

  5. Przed skonfigurowaniem potoków w następnej sekcji otwórz plik CD-pipeline.yml i zmień nazwę potoku ciągłej integracji w atrybucie source tak, aby był zgodny z nazwą potoku ciągłej integracji, którego chcesz użyć.

    Zrzut ekranu przedstawiający program Visual Studio Code, okno kontroli źródła, otwarty plik CD-pipeline.yml i wyróżnione pole źródłowe dla nazwy potoku ciągłej integracji.

  6. W oknie Kontrola źródła zatwierdź zmiany i opublikuj je w repozytorium.

    Aby uzyskać więcej informacji, zobacz Stage and commit code changes (Etap i zatwierdzanie zmian w kodzie).

Tworzenie potoków w usłudze Azure DevOps

Aby utworzyć infrastrukturę wraz z potokami ciągłej integracji i ciągłego wdrażania w usłudze Azure DevOps, powtórz następujące kroki dla każdego z następujących plików potoku:

  • infrastructure-pipeline.yml dla potoku "Infrastruktura jako kod".
  • CI-pipeline.yml dla potoku ciągłej integracji.
  • CD-pipeline.yml dla potoku ciągłego dostarczania.

Konfigurowanie potoku

  1. W usłudze Azure DevOps wróć do projektu zespołowego i w okienku Pliki repozytoriów>.

  2. W okienku Pliki wybierz pozycję Skonfiguruj kompilację.

    Zrzut ekranu przedstawiający projekt zespołowy usługi Azure DevOps, repozytorium Git i wybraną opcję o nazwie Konfigurowanie kompilacji.

  3. W okienku Spis potoku potwierdź informacje o repozytorium i wybierz pozycję Konfiguruj potok.

    Zrzut ekranu przedstawiający stronę Spis z informacjami o repozytorium dla potoku.

  4. W okienku Konfigurowanie potoku wybierz pozycję Istniejący plik YAML usługi Azure Pipelines.

    Zrzut ekranu przedstawiający stronę Konfiguruj w celu wybrania typu potoku.

  5. W okienku Wybierz istniejący plik YAML wykonaj następujące kroki, aby wybrać plik Infrastructure-pipeline.yml :

    1. W polu Gałąź wybierz gałąź, w której zatwierdzono zmiany, na przykład main lub gałąź wydania.

    2. W polu Ścieżka wybierz ścieżkę do użycia dla potoku. Następująca ścieżka to wartość domyślna:

      deployment/{logic-app-name}/ADOPipelineScripts/{nazwa-potoku infrastruktury}.yml

    3. Gdy wszystko będzie gotowe, wybierz pozycję Kontynuuj.

      Zrzut ekranu przedstawia okienko wybierz istniejący plik YAML.

  6. W okienku Konfigurowanie potoku wybierz pozycję Przejrzyj potok.

  7. W okienku Przeglądanie zarządzanego potoku podaj następujące informacje:

    • Nazwa potoku: wprowadź nazwę potoku.
    • Folder potoku: wybierz folder, w którym chcesz zapisać potok o nazwie ./deployment/{logic-app-name}/pipelines.
  8. Po zakończeniu wybierz opcję Zapisz.

    Zrzut ekranu przedstawia okienko o nazwie Przeglądanie zarządzanego potoku.

Wyświetlanie i uruchamianie potoku

Aby znaleźć i uruchomić potok, wykonaj następujące kroki:

  1. W menu po lewej stronie projektu zespołowego rozwiń węzeł Potoki i wybierz pozycję Potoki.

  2. Wybierz kartę Wszystkie, aby wyświetlić wszystkie dostępne potoki. Znajdź i wybierz potok.

  3. Na pasku narzędzi potoku wybierz pozycję Uruchom potok.

    Zrzut ekranu przedstawia okienko utworzonego potoku i wybraną opcję Uruchom potok.

Aby uzyskać więcej informacji, zobacz Tworzenie pierwszego potoku.

Zobacz też