Szybki start: kompilowanie i wdrażanie z lokalnego kodu źródłowego do usługi Azure Container Apps

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

Uwaga

Ta przykładowa aplikacja jest dostępna w dwóch wersjach. Jedna wersja, w której ź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.

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

az extension add --name containerapp --upgrade

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

Uwaga

Zasoby usługi Azure Container Apps zostały zmigrowane z Microsoft.Web przestrzeni nazw do Microsoft.App przestrzeni nazw. Aby uzyskać więcej informacji, zobacz Migracja przestrzeni nazw z witryny Microsoft.Web do Microsoft.App w marcu 2022 r.

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"

Pobieranie przykładowego kodu

Pobierz i wyodrębnij przykładową aplikację interfejsu API w wybranym języku.

Pobierz kod źródłowy na komputer.

Wyodrębnij pobieranie i przejdź do folderu containerapps-albumapi-csharp-main/src .

Pobierz kod źródłowy na komputer.

Wyodrębnij pobieranie i przejdź do folderu containerapps-albumapi-csharp-buildpack/src .


Kompilowanie i wdrażanie aplikacji kontenera

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

  • Tworzenie grupy zasobów
  • Tworzenie rejestru Azure Container Registry
  • Skompiluj obraz kontenera i wypchnij go do rejestru
  • Tworzenie środowiska usługi Container Apps za pomocą obszaru roboczego usługi Log Analytics
  • Tworzenie i wdrażanie aplikacji kontenera przy użyciu wbudowanego obrazu kontenera
  • Tworzenie grupy zasobów
  • Tworzenie rejestru domyślnego w ramach środowiska
  • Wykrywanie języka i środowiska uruchomieniowego aplikacji oraz kompilowanie obrazu przy użyciu odpowiedniego pakietu Buildpack
  • Wypychanie obrazu do domyślnego rejestru usługi Azure Container Apps
  • Tworzenie środowiska usługi Container Apps za pomocą obszaru roboczego usługi Log Analytics
  • Tworzenie i wdrażanie aplikacji kontenera przy użyciu wbudowanego obrazu kontenera

Polecenie up używa pliku Dockerfile w katalogu głównym repozytorium, aby skompilować obraz kontenera. Instrukcja EXPOSE w pliku Dockerfile zdefiniowała port docelowy, który jest portem używanym do wysyłania ruchu przychodzącego do kontenera.

up Jeśli polecenie nie znajdzie pliku Dockerfile, automatycznie używa pakietu Buildpack, aby przekształcić źródło aplikacji w kontener możliwy do uruchomienia. Ponieważ pakiet Buildpack próbuje uruchomić kompilację w Twoim imieniu, musisz poinformować up polecenie, do którego portu ma być wysyłany ruch przychodzący.

W poniższym przykładzie kodu (kropka . ) informuje containerapp up o uruchomieniu w src katalogu wyodrębnionej przykładowej aplikacji interfejsu API.

az containerapp up \
  --name $API_NAME \
  --location $LOCATION \
  --environment $ENVIRONMENT \
  --source .
az containerapp up \
  --name $API_NAME \
  --location $LOCATION \
  --environment $ENVIRONMENT \
  --ingress external \
  --target-port 8080 \
  --source .

Ważne

Aby wdrożyć aplikację kontenera w istniejącej grupie zasobów, dołącz --resource-group yourResourceGroup do containerapp up polecenia .

Weryfikowanie wdrożenia

Skopiuj nazwę FQDN do przeglądarki internetowej. W przeglądarce internetowej przejdź do /albums punktu końcowego nazwy FQDN.

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

Limity

Maksymalny rozmiar przekazywania kodu źródłowego to 200 MB. Jeśli przekazywanie przekroczy limit, zwracany jest błąd 413.

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.