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

Usługi Azure Functions można używać do ciągłego wdrażania kodu przy użyciu integracji kontroli źródła. 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.

Ciągłe wdrażanie jest dobrym rozwiązaniem w przypadku projektów, w których integrujesz wiele i często współtworzesz. W przypadku korzystania z ciągłego wdrażania utrzymujesz jedno źródło prawdy dla kodu, co pozwala zespołom na łatwą współpracę.

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.

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

Aby ciągłe wdrażanie powiodło się, struktura katalogów musi być zgodna z podstawową strukturą folderów oczekiwaną przez usługę Azure Functions.

Kod wszystkich funkcji w określonej aplikacji funkcji znajduje się w głównym folderze projektu zawierającym plik konfiguracji hosta. Plik host.json zawiera konfiguracje specyficzne dla środowiska uruchomieniowego i znajduje się w folderze głównym aplikacji funkcji. Folder bin zawiera pakiety i inne pliki biblioteki wymagane przez aplikację funkcji. Określone struktury folderów wymagane przez aplikację funkcji zależą od języka:

Wszystkie funkcje w aplikacji funkcji muszą współużytkować ten sam stos języka.

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.

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.

Opcje, których z tych dostawców kompilacji można użyć, zależą od określonego źródła wdrożenia kodu.

Centrum wdrażania

Witryna Azure Portal udostępnia centrum wdrażania dla aplikacji funkcji, co ułatwia konfigurowanie ciągłego wdrażania. Sposób konfigurowania ciągłego wdrażania zależy zarówno od określonej kontroli źródła, w której 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.

Kwestie wymagające rozważenia

Należy pamiętać o tych zagadnieniach podczas planowania strategii ciągłego wdrażania:

  • GitHub to jedyne źródło, które obecnie obsługuje ciągłe wdrażanie aplikacji systemu Linux uruchomionych w planie Zużycie, które jest popularną opcją hostingu dla aplikacji języka Python.

  • Jednostką wdrożenia funkcji na platformie Azure jest aplikacja funkcji. 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.

  • 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.

  • 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).

Ciągłe wdrażanie 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