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