Udostępnij za pośrednictwem


Szybki start: kompilowanie i wdrażanie z repozytorium do usługi Azure Container Apps

W tym artykule pokazano, jak utworzyć i wdrożyć mikrousługę w usłudze Azure Container Apps z repozytorium GitHub przy użyciu wybranego języka programowania. W tym przewodniku Szybki start utworzysz przykładową mikrousługę reprezentującą usługę internetowego interfejsu API zaplecza, która zwraca statyczną kolekcję albumów muzycznych.

Ta przykładowa aplikacja jest dostępna w dwóch wersjach. Jedna wersja zawiera kontener, w którym źródło zawiera plik Dockerfile. Druga wersja nie ma pliku Dockerfile. Wybierz wersję, która najlepiej odzwierciedla kod źródłowy. Jeśli dopiero zaczynasz korzystać z kontenerów, wybierz opcję Brak pliku Dockerfile u góry.

Uwaga

Możesz również skompilować i wdrożyć tę przykładową aplikację z lokalnego systemu plików. Aby uzyskać więcej informacji, zobacz Tworzenie z lokalnego kodu źródłowego i wdrażanie aplikacji w usłudze Azure Container Apps.

Poniższy zrzut ekranu przedstawia dane wyjściowe wdrożonej usługi interfejsu API albumu.

Zrzut ekranu przedstawiający odpowiedź z punktu końcowego interfejsu API albumów.

Wymagania wstępne

Do ukończenia tego projektu potrzebne są następujące elementy:

Wymaganie Instrukcje
Konto platformy Azure Jeśli go nie masz, utwórz bezpłatne konto. Aby kontynuować, musisz mieć uprawnienie Współautor lub Właściciel w subskrypcji platformy Azure.

Aby uzyskać szczegółowe informacje, zobacz Przypisywanie ról platformy Azure przy użyciu witryny Azure Portal .
Konto usługi GitHub Pobierz go bezpłatnie.
git Instalowanie narzędzia git
Interfejs wiersza polecenia platformy Azure Zainstaluj interfejs wiersza polecenia platformy Azure.

Ustawienia

Aby zalogować się do platformy Azure z poziomu interfejsu wiersza polecenia, uruchom następujące polecenie i postępuj zgodnie z monitami, aby ukończyć proces uwierzytelniania.

az login

Aby upewnić się, że używasz najnowszej wersji interfejsu wiersza polecenia, uruchom polecenie uaktualniania.

az upgrade

Następnie zainstaluj lub zaktualizuj rozszerzenie usługi Azure Container Apps dla interfejsu wiersza polecenia.

Jeśli podczas uruchamiania az containerapp poleceń w interfejsie wiersza polecenia platformy Azure lub poleceniach cmdlet z modułu Az.App w programie Azure PowerShell wystąpią błędy dotyczące brakujących parametrów, upewnij się, że masz zainstalowaną najnowszą wersję rozszerzenia Azure Container Apps.

az extension add --name containerapp --upgrade

Uwaga

Począwszy od maja 2024 r., rozszerzenia interfejsu wiersza polecenia platformy Azure domyślnie nie włączają funkcji w wersji zapoznawczej. Aby uzyskać dostęp do funkcji usługi Container Apps w wersji zapoznawczej, zainstaluj rozszerzenie Container Apps za pomocą polecenia --allow-preview true.

az extension add --name containerapp --upgrade --allow-preview true

Teraz, po zainstalowaniu bieżącego rozszerzenia lub modułu Microsoft.App , zarejestruj przestrzenie nazw i Microsoft.OperationalInsights .

az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights

Tworzenie zmiennych środowiskowych

Teraz, gdy konfiguracja interfejsu wiersza polecenia platformy Azure została ukończona, możesz zdefiniować zmienne środowiskowe używane w tym artykule.

Zdefiniuj następujące zmienne w powłoce powłoki bash.

export RESOURCE_GROUP="album-containerapps"
export LOCATION="canadacentral"
export ENVIRONMENT="env-album-containerapps"
export API_NAME="album-api"
export GITHUB_USERNAME="<YOUR_GITHUB_USERNAME>"

Przed uruchomieniem tego polecenia pamiętaj, aby zastąpić <YOUR_GITHUB_USERNAME> ciąg nazwą użytkownika usługi GitHub.

Następnie zdefiniuj unikatową nazwę rejestru kontenerów.

export ACR_NAME="acaalbums"$GITHUB_USERNAME

Przygotowywanie repozytorium GitHub

W oknie przeglądarki przejdź do repozytorium GitHub dla preferowanego języka i rozwidlenia repozytorium.

Wybierz przycisk Rozwidlenie u góry repozytorium interfejsu API albumu, aby rozwidlić repozytorium na koncie. Następnie skopiuj adres URL repozytorium, aby użyć go w następnym kroku.

W oknie przeglądarki przejdź do repozytorium GitHub dla preferowanego języka i rozwidlenia repozytorium , w tym gałęzi.

Wybierz przycisk Rozwidlenie u góry repozytorium interfejsu API albumu, aby rozwidlić repozytorium na koncie. Usuń zaznaczenie pola wyboru "Kopiuj main tylko gałąź", aby również rozwidlić buildpack gałąź.


Kompilowanie i wdrażanie aplikacji kontenera

Skompiluj i wdróż pierwszą aplikację kontenera z rozwidlenia repozytorium GitHub za containerapp up pomocą polecenia . To polecenie spowoduje:

  • Tworzenie grupy zasobów
  • Tworzenie środowiska usługi Container Apps za pomocą obszaru roboczego usługi Log Analytics
  • Tworzenie rejestru Azure Container Registry
  • Tworzenie przepływu pracy akcji usługi GitHub w celu kompilowania i wdrażania aplikacji kontenera
  • Tworzenie grupy zasobów
  • Tworzenie środowiska usługi Container Apps za pomocą obszaru roboczego usługi Log Analytics
  • Automatyczne tworzenie rejestru domyślnego w ramach środowiska
  • Tworzenie przepływu pracy akcji usługi GitHub w celu kompilowania i wdrażania aplikacji kontenera

Po wypchnięciu nowego kodu do repozytorium akcja usługi GitHub będzie:

  • Skompiluj obraz kontenera i wypchnij go do usługi Azure Container Registry
  • Wdrażanie obrazu kontenera w utworzonej aplikacji kontenera

Polecenie up używa pliku Dockerfile w katalogu głównym repozytorium, aby skompilować obraz kontenera. Instrukcja EXPOSE w pliku Dockerfile definiuje port docelowy. Do utworzenia aplikacji kontenera nie jest wymagany plik platformy Docker.

  • Automatyczne wykrywanie języka i środowiska uruchomieniowego
  • Kompilowanie obrazu przy użyciu odpowiedniego pakietu BuildPack
  • Wypychanie obrazu do domyślnego rejestru usługi Azure Container Apps

Aplikacja kontenera musi być dostępna dla ruchu przychodzącego. Upewnij się, że port 8080 uwidacznia nasłuchiwanie żądań przychodzących.

W poniższym poleceniu zastąp element <YOUR_GITHUB_REPOSITORY_NAME> nazwą repozytorium GitHub w postaci https://github.com/<OWNER>/<REPOSITORY-NAME> lub <OWNER>/<REPOSITORY-NAME>.

W poniższym poleceniu zastąp element <YOUR_GITHUB_REPOSITORY_NAME> nazwą repozytorium GitHub w postaci https://github.com/<OWNER>/<REPOSITORY-NAME> lub <OWNER>/<REPOSITORY-NAME>. --branch buildpack Użyj opcji , aby wskazać przykładowe źródło bez pliku Dockerfile.

az containerapp up \
  --name $API_NAME \
  --resource-group $RESOURCE_GROUP \
  --location $LOCATION \
  --environment $ENVIRONMENT \
  --context-path ./src \
  --repo <YOUR_GITHUB_REPOSITORY_NAME>
az containerapp up \
  --name $API_NAME \
  --resource-group $RESOURCE_GROUP \
  --location $LOCATION \
  --environment $ENVIRONMENT \
  --context-path ./src \
  --ingress external \
  --target-port 8080 \
  --repo <YOUR_GITHUB_REPOSITORY_NAME>
  --branch buildpack
  --

Korzystając z adresu URL i kodu użytkownika wyświetlanego w terminalu, przejdź do strony aktywacji urządzenia GitHub w przeglądarce i wprowadź kod użytkownika na stronie. Postępuj zgodnie z monitami, aby autoryzować interfejs wiersza polecenia platformy Azure w celu uzyskania dostępu do repozytorium GitHub.

Polecenie up tworzy przepływ pracy akcji usługi GitHub w folderze .github/workflows repozytorium. Przepływ pracy jest wyzwalany w celu skompilowania i wdrożenia aplikacji kontenera podczas wypychania zmian do repozytorium.


Weryfikowanie wdrożenia

Skopiuj nazwę domeny zwróconą przez element containerapp up do przeglądarki internetowej. W przeglądarce internetowej przejdź do /albums punktu końcowego adresu URL.

Zrzut ekranu przedstawiający odpowiedź z punktu końcowego interfejsu API albumów.

Czyszczenie zasobów

Jeśli nie zamierzasz kontynuować pracy z samouczkiem Wdrażanie frontonu , możesz usunąć zasoby platformy Azure utworzone podczas tego przewodnika Szybki start za pomocą następującego polecenia.

Uwaga

Następujące polecenie usuwa określoną grupę zasobów i wszystkie zawarte w niej zasoby. Jeśli grupa zawiera zasoby poza zakresem tego przewodnika Szybki start, zostaną również usunięte.

az group delete --name $RESOURCE_GROUP

Napiwek

Masz problemy? Poinformuj nas o usłudze GitHub, otwierając problem w repozytorium usługi Azure Container Apps.

Następne kroki

Po ukończeniu tego przewodnika Szybki start możesz przejść do sekcji Samouczek: komunikacja między mikrousługami w usłudze Azure Container Apps , aby dowiedzieć się, jak wdrożyć aplikację frontonu, która wywołuje interfejs API.