Ciągłe wdrażanie dla usługi Azure Functions

Usługa Azure Functions umożliwia ciągłe wdrażanie zmian wprowadzonych w repozytorium kontroli źródła w połączonej aplikacji funkcji. Ta integracja kontroli źródła umożliwia przepływ pracy, w którym aktualizacja kodu wyzwala kompilację, pakowanie i wdrażanie z projektu na platformę Azure.

Zawsze należy skonfigurować ciągłe wdrażanie dla miejsca przejściowego, a nie dla miejsca produkcyjnego. W przypadku korzystania z miejsca produkcyjnego aktualizacje kodu są wypychane bezpośrednio do środowiska produkcyjnego bez weryfikowania na platformie Azure. Zamiast tego włącz ciągłe wdrażanie w miejscu przejściowym, zweryfikuj aktualizacje w miejscu przejściowym i po poprawnym uruchomieniu wszystkiego można zamienić kod miejsca przejściowego na środowisko produkcyjne. Jeśli łączysz się z miejscem produkcyjnym, upewnij się, że tylko kod jakości produkcyjnej tworzy go w zintegrowanej gałęzi kodu.

Kroki opisane w tym artykule pokazują, jak skonfigurować ciągłe wdrożenia kodu do aplikacji funkcji na platformie Azure przy użyciu Centrum wdrażania w witrynie Azure Portal. Możesz również skonfigurować ciągłą integrację przy użyciu interfejsu wiersza polecenia platformy Azure. Te kroki mogą dotyczyć miejsca przejściowego lub produkcyjnego.

Funkcje obsługują te źródła na potrzeby ciągłego wdrażania w aplikacji:

Obsługa kodu projektu w usłudze Azure Repos — jednej z usług w usłudze Azure DevOps. Obsługuje zarówno usługę Git, jak i Kontrola wersji serwera Team Foundation. Używany z dostawcą kompilacji usługi Azure Pipelines. Aby uzyskać więcej informacji, zobacz Co to jest usługa Azure Repos?

Możesz również połączyć aplikację funkcji z zewnętrznym repozytorium Git, ale wymaga to ręcznej synchronizacji. Aby uzyskać więcej informacji na temat opcji wdrażania, zobacz Technologie wdrażania w usłudze Azure Functions.

Uwaga

Opcje ciągłego wdrażania omówione w tym artykule są specyficzne dla wdrożeń tylko do kodu. W przypadku wdrożeń aplikacji funkcji konteneryzowanych zobacz Włączanie ciągłego wdrażania kontenerów na platformie Azure.

Wymagania

Jednostką wdrożenia funkcji na platformie Azure jest aplikacja funkcji. Aby ciągłe wdrażanie zakończyło się pomyślnie, struktura katalogów projektu musi być zgodna z podstawową strukturą folderów oczekiwaną przez usługę Azure Functions. Podczas tworzenia projektu kodu przy użyciu narzędzi Azure Functions Core Tools, Visual Studio Code lub Visual Studio szablony usługi Azure Functions są używane do tworzenia projektów kodu z poprawną strukturą katalogów. Wszystkie funkcje w aplikacji funkcji są wdrażane w tym samym czasie i w tym samym pakiecie.

Po włączeniu ciągłego wdrażania dostęp do kodu funkcji w witrynie Azure Portal jest skonfigurowany jako tylko do odczytu, ponieważ źródło prawdy jest znane w innym miejscu.

Uwaga

Centrum wdrażania nie obsługuje włączania ciągłego wdrażania aplikacji funkcji z ograniczeniami sieci przychodzącej. Zamiast tego należy skonfigurować przepływ pracy dostawcy kompilacji bezpośrednio w usłudze GitHub lub Azure Pipelines. Te przepływy pracy wymagają również używania maszyny wirtualnej w tej samej sieci wirtualnej co aplikacja funkcji jako własnego agenta (Pipelines) lub własnego modułu uruchamiającego (GitHub).

Wybieranie dostawcy kompilacji

Kompilowanie projektu kodu jest częścią procesu wdrażania. Konkretny proces kompilacji zależy od konkretnego stosu języka, systemu operacyjnego i planu hostingu. Kompilacje można wykonywać lokalnie lub zdalnie, ponownie w zależności od konkretnego hostingu. Aby uzyskać więcej informacji, zobacz Kompilacja zdalna.

Ważne

W celu zwiększenia bezpieczeństwa rozważ użycie dostawcy kompilacji obsługującego tożsamości zarządzane, w tym usługi Azure Pipelines i Gitub Actions. Usługa App Service (Kudu) wymaga włączenia podstawowego uwierzytelniania i pracy z poświadczeniami opartymi na tekście.

Funkcje obsługują tych dostawców kompilacji:

Usługa Azure Pipelines jest jedną z usług w usłudze Azure DevOps i domyślnym dostawcą kompilacji dla projektów usługi Azure Repos. Usługi Pipelines można również używać do kompilowania projektów z usługi GitHub. W obszarze Pipelines istnieje AzureFunctionApp zadanie przeznaczone specjalnie do wdrażania w usłudze Azure Functions. To zadanie zapewnia kontrolę nad sposobem kompilowanie, pakowanie i wdrażanie projektu. Obsługuje tożsamości zarządzane.

Pamiętaj o mocnych i ograniczeniami tych dostawców podczas włączania integracji kontroli źródła. Może być konieczne zmianę typu źródła repozytorium w celu skorzystania z określonego dostawcy.

Konfigurowanie ciągłego wdrażania

Witryna Azure Portal udostępnia centrum wdrażania dla aplikacji funkcji, co ułatwia konfigurowanie ciągłego wdrażania. Konkretny sposób konfigurowania ciągłego wdrażania zależy zarówno od typu repozytorium kontroli źródła, w którym znajduje się kod, jak i wybranego dostawcy kompilacji.

W witrynie Azure Portal przejdź do strony aplikacji funkcji i wybierz pozycję Centrum wdrażania w obszarze Wdrożenie w okienku po lewej stronie.

Zrzut ekranu centrum wdrażania aplikacji funkcji w witrynie Azure Portal, na którym wybierasz repozytorium źródłowe.

Wybierz typ repozytorium źródłowego, w którym jest obsługiwany kod projektu, z jednej z następujących obsługiwanych opcji:

Wdrożenia z usługi Azure Repos korzystające z usługi Azure Pipelines są definiowane w portalu usługi Azure DevOps, a nie z poziomu aplikacji funkcji. Aby zapoznać się z przewodnikiem krok po kroku dotyczącym tworzenia wdrożenia opartego na potokach z usługi Azure Repos, zobacz Ciągłe dostarczanie za pomocą usługi Azure Pipelines.

Po zakończeniu wdrażania do aplikacji zostanie wdrożony cały kod z określonego źródła. W tym momencie zmiany w źródle wdrożenia wyzwalają wdrożenie tych zmian w aplikacji funkcji na platformie Azure.

Włączanie ciągłego wdrażania podczas tworzenia aplikacji

Obecnie można skonfigurować ciągłe wdrażanie z usługi GitHub przy użyciu funkcji GitHub Actions podczas tworzenia aplikacji funkcji w witrynie Azure Portal. Można to zrobić na karcie Wdrażanie na stronie Tworzenie aplikacji funkcji.

Jeśli chcesz użyć innego źródła wdrożenia lub dostawcy kompilacji do ciągłej integracji, najpierw utwórz aplikację funkcji, a następnie wróć do portalu i skonfiguruj ciągłą integrację w Centrum wdrażania.

Włączanie uwierzytelniania podstawowego dla wdrożeń

Domyślnie aplikacja funkcji jest tworzona przy użyciu podstawowego dostępu uwierzytelniania do wyłączonego punktu końcowego scm . Spowoduje to zablokowanie publikowania przez wszystkie metody, które nie mogą używać tożsamości zarządzanych do uzyskiwania dostępu do punktu końcowego scm . Wpływ publikowania na wyłączenie punktu końcowego scm został szczegółowo opisany w temacie Wdrażanie bez uwierzytelniania podstawowego.

Ważne

W przypadku korzystania z podstawowego uwierzytelniania poświadczenia są wysyłane w postaci zwykłego tekstu. Aby chronić te poświadczenia, należy uzyskać dostęp tylko do scm punktu końcowego za pośrednictwem szyfrowanego połączenia (HTTPS) podczas korzystania z uwierzytelniania podstawowego. Aby uzyskać więcej informacji, zobacz Bezpieczne wdrożenie.

Aby włączyć uwierzytelnianie podstawowe w punkcie scm końcowym:

  1. W witrynie Azure Portal przejdź do aplikacji funkcji.

  2. W menu po lewej stronie aplikacji wybierz pozycję Ustawienia ogólne konfiguracji>.

  3. Ustaw pozycję Poświadczenia publikowania uwierzytelniania podstawowego programu SCM na Wł., a następnie wybierz pozycję Zapisz.

Następne kroki