Dela via


Snabbstart: Skapa och distribuera från en lagringsplats till Azure Container Apps

Den här artikeln visar hur du skapar och distribuerar en mikrotjänst till Azure Container Apps från en GitHub-lagringsplats med valfritt programmeringsspråk. I den här snabbstarten skapar du en exempelmikrotjänst som representerar en serverdelswebb-API-tjänst som returnerar en statisk samling musikalbum.

Det här exempelprogrammet är tillgängligt i två versioner. En version innehåller en container, där källan innehåller en Dockerfile. Den andra versionen har ingen Dockerfile. Välj den version som bäst återspeglar källkoden. Om du är nybörjare på containrar väljer du alternativet Ingen Dockerfile längst upp.

Kommentar

Du kan också skapa och distribuera det här exempelprogrammet från ditt lokala filsystem. Mer information finns i Skapa från lokal källkod och distribuera ditt program i Azure Container Apps.

Följande skärmbild visar utdata från den album-API-tjänst som du distribuerar.

Skärmbild av svar från api-slutpunkten för album.

Förutsättningar

För att slutföra det här projektet behöver du följande:

Krav Instruktioner
Azure-konto Om du inte har något skapar du ett konto kostnadsfritt. Du behöver behörigheten Deltagare eller Ägare för Azure-prenumerationen för att kunna fortsätta.

Mer information finns i Tilldela Azure-roller med hjälp av Azure Portal.
GitHub-konto Skaffa en gratis.
git Installera git
Azure CLI Installera Azure CLI.

Ställ in

Om du vill logga in på Azure från CLI kör du följande kommando och följer anvisningarna för att slutföra autentiseringsprocessen.

az login

Kör uppgraderingskommandot för att säkerställa att du kör den senaste versionen av CLI.

az upgrade

Installera eller uppdatera sedan Azure Container Apps-tillägget för CLI.

Om du får fel om saknade parametrar när du kör az containerapp kommandon i Azure CLI eller cmdletar från modulen Az.App i Azure PowerShell kontrollerar du att den senaste versionen av Azure Container Apps-tillägget är installerad.

az extension add --name containerapp --upgrade

Kommentar

Från och med maj 2024 aktiverar Azure CLI-tillägg inte längre förhandsversionsfunktioner som standard. Om du vill komma åt förhandsversionsfunktioner för Container Apps installerar du containerapptillägget med --allow-preview true.

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

Nu när det aktuella tillägget eller modulen har installerats registrerar du Microsoft.App namnrymderna och Microsoft.OperationalInsights .

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

Skapa miljövariabler

Nu när azure CLI-installationen är klar kan du definiera de miljövariabler som används i hela den här artikeln.

Definiera följande variabler i bash-gränssnittet.

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

Innan du kör det här kommandot måste du ersätta <YOUR_GITHUB_USERNAME> med ditt GitHub-användarnamn.

Definiera sedan ett containerregisternamn som är unikt för dig.

export ACR_NAME="acaalbums"$GITHUB_USERNAME

Förbereda GitHub-lagringsplatsen

I ett webbläsarfönster går du till GitHub-lagringsplatsen för önskat språk och förgrenar lagringsplatsen.

Välj knappen Förgrening överst på albumets API-lagringsplats för att förgrena lagringsplatsen till ditt konto. Kopiera sedan lagringsplatsens URL för att använda den i nästa steg.

I ett webbläsarfönster går du till GitHub-lagringsplatsen för önskat språk och förgrenar lagringsplatsen inklusive grenar.

Välj knappen Förgrening överst på albumets API-lagringsplats för att förgrena lagringsplatsen till ditt konto. Avmarkera "Kopiera endast grenen main " för att även förgrena grenen buildpack .


Skapa och distribuera containerappen

Skapa och distribuera din första containerapp från din förgrenade GitHub-lagringsplats med containerapp up kommandot . Det här kommandot kommer att:

  • Skapa resursgruppen
  • Skapa Container Apps-miljön med en Log Analytics-arbetsyta
  • Skapa ett Azure Container Registry
  • Skapa ett GitHub Action-arbetsflöde för att skapa och distribuera containerappen
  • Skapa resursgruppen
  • Skapa Container Apps-miljön med en Log Analytics-arbetsyta
  • Skapa automatiskt ett standardregister som en del av din miljö
  • Skapa ett GitHub Action-arbetsflöde för att skapa och distribuera containerappen

När du skickar ny kod till lagringsplatsen kommer GitHub-åtgärden att:

  • Skapa containeravbildningen och skicka den till Azure Container Registry
  • Distribuera containeravbildningen till den skapade containerappen

Kommandot up använder Dockerfile i roten på lagringsplatsen för att skapa containeravbildningen. Instruktionen EXPOSE i Dockerfile definierar målporten. En Docker-fil krävs inte för att skapa en containerapp.

  • Identifiera språket och körningen automatiskt
  • Skapa avbildningen med hjälp av lämpligt Buildpack
  • Push-överför avbildningen till Standardregistret för Azure Container Apps

Containerappen måste vara tillgänglig för inkommande trafik. Se till att exponera port 8080 för att lyssna efter inkommande begäranden.

I följande kommando ersätter du <YOUR_GITHUB_REPOSITORY_NAME> med ditt GitHub-lagringsplatsnamn i form av https://github.com/<OWNER>/<REPOSITORY-NAME> eller <OWNER>/<REPOSITORY-NAME>.

I följande kommando ersätter du <YOUR_GITHUB_REPOSITORY_NAME> med ditt GitHub-lagringsplatsnamn i form av https://github.com/<OWNER>/<REPOSITORY-NAME> eller <OWNER>/<REPOSITORY-NAME>. Använd alternativet --branch buildpack för att peka på exempelkällan utan en 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
  --

Med hjälp av URL:en och användarkoden som visas i terminalen går du till gitHub-enhetens aktiveringssida i en webbläsare och anger användarkoden på sidan. Följ anvisningarna för att auktorisera Azure CLI för att få åtkomst till din GitHub-lagringsplats.

Kommandot up skapar ett GitHub Action-arbetsflöde i lagringsplatsens .github/workflows-mapp . Arbetsflödet utlöses för att skapa och distribuera containerappen när du skickar ändringar till lagringsplatsen.


Verifiera distributionen

Kopiera domännamnet som returneras av containerapp up till en webbläsare. Gå till url: /albums ens slutpunkt från webbläsaren.

Skärmbild av svar från api-slutpunkten för album.

Rensa resurser

Om du inte ska fortsätta med självstudien Distribuera en klientdel kan du ta bort de Azure-resurser som skapades under den här snabbstarten med följande kommando.

Varning

Följande kommando tar bort den angivna resursgruppen och alla resurser som ingår i den. Om gruppen innehåller resurser utanför omfånget för den här snabbstarten tas de också bort.

az group delete --name $RESOURCE_GROUP

Dricks

Har du problem? Meddela oss på GitHub genom att öppna ett problem i Azure Container Apps-lagringsplatsen.

Nästa steg

När du har slutfört den här snabbstarten kan du fortsätta till Självstudie: Kommunikation mellan mikrotjänster i Azure Container Apps för att lära dig hur du distribuerar ett klientdelsprogram som anropar API:et.