Delen via


Quickstart: Bouwen en implementeren vanuit een opslagplaats naar Azure Container Apps

In dit artikel wordt beschreven hoe u een microservice bouwt en implementeert in Azure Container Apps vanuit een GitHub-opslagplaats met behulp van de programmeertaal van uw keuze. In deze quickstart maakt u een voorbeeldmicroservice, die een back-end-web-API-service vertegenwoordigt die een statische verzameling muziekalbums retourneert.

Deze voorbeeldtoepassing is beschikbaar in twee versies. Eén versie bevat een container, waarbij de bron een Dockerfile bevat. De andere versie heeft geen Dockerfile. Selecteer de versie die het beste overeenkomt met uw broncode. Als u geen containers hebt, selecteert u bovenaan de optie Geen Dockerfile .

Notitie

U kunt deze voorbeeldtoepassing ook bouwen en implementeren vanuit uw lokale bestandssysteem. Zie Build van lokale broncode en implementeer uw toepassing in Azure Container Apps voor meer informatie.

In de volgende schermopname ziet u de uitvoer van de album-API-service die u implementeert.

Schermopname van het antwoord van het API-eindpunt voor albums.

Vereisten

U hebt het volgende nodig om dit project te voltooien:

Vereiste Instructies
Azure-account Als u nog geen account hebt, maakt u gratis een account. U hebt de machtiging Inzender of Eigenaar voor het Azure-abonnement nodig om door te gaan.

Raadpleeg Azure-rollen toewijzen met behulp van Azure Portal voor meer informatie.
GitHub-account Ontvang er gratis een.
git Git installeren
Azure-CLI Installeer de Azure CLI.

Instellingen

Als u zich wilt aanmelden bij Azure vanuit de CLI, voert u de volgende opdracht uit en volgt u de aanwijzingen om het verificatieproces te voltooien.

az login

Voer de upgradeopdracht uit om ervoor te zorgen dat u de nieuwste versie van de CLI uitvoert.

az upgrade

Installeer of werk vervolgens de Azure Container Apps-extensie voor de CLI bij.

Als u fouten ontvangt over ontbrekende parameters wanneer u opdrachten uitvoert az containerapp in Azure CLI of cmdlets vanuit de Az.App module in Azure PowerShell, moet u ervoor zorgen dat de nieuwste versie van de Azure Container Apps-extensie is geïnstalleerd.

az extension add --name containerapp --upgrade

Notitie

Vanaf mei 2024 schakelen Azure CLI-extensies standaard geen preview-functies meer in. Als u toegang wilt krijgen tot de preview-functies van Container Apps, installeert u de Container Apps-extensie met --allow-preview true.

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

Nu de huidige extensie of module is geïnstalleerd, registreert u de Microsoft.App en Microsoft.OperationalInsights naamruimten.

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

Omgevingsvariabelen maken

Nu uw Azure CLI-installatie is voltooid, kunt u de omgevingsvariabelen definiëren die in dit artikel worden gebruikt.

Definieer de volgende variabelen in uw bash-shell.

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

Voordat u deze opdracht uitvoert, moet u deze vervangen door <YOUR_GITHUB_USERNAME> uw GitHub-gebruikersnaam.

Definieer vervolgens een containerregisternaam die uniek voor u is.

export ACR_NAME="acaalbums"$GITHUB_USERNAME

De GitHub-opslagplaats voorbereiden

Ga in een browservenster naar de GitHub-opslagplaats voor uw voorkeurstaal en fork de opslagplaats.

Selecteer de knop Fork boven aan de api-opslagplaats van het album om de opslagplaats naar uw account te splitsen. Kopieer vervolgens de URL van de opslagplaats om deze in de volgende stap te gebruiken.

Ga in een browservenster naar de GitHub-opslagplaats voor uw voorkeurstaal en fork de opslagplaats , inclusief vertakkingen.

Selecteer de knop Fork boven aan de api-opslagplaats van het album om de opslagplaats naar uw account te splitsen. Schakel 'Alleen de main vertakking kopiëren' uit om ook de buildpack vertakking te forkeren.


De container-app bouwen en implementeren

Bouw en implementeer uw eerste container-app vanuit uw geforkte GitHub-opslagplaats met de containerapp up opdracht. Met deze opdracht wordt het volgende uitgevoerd:

  • De resourcegroep maken
  • De Container Apps-omgeving maken met een Log Analytics-werkruimte
  • Een Azure Container Registry maken
  • Een GitHub Action-werkstroom maken om de container-app te bouwen en te implementeren
  • De resourcegroep maken
  • De Container Apps-omgeving maken met een Log Analytics-werkruimte
  • Automatisch een standaardregister maken als onderdeel van uw omgeving
  • Een GitHub Action-werkstroom maken om de container-app te bouwen en te implementeren

Wanneer u nieuwe code naar de opslagplaats pusht, doet de GitHub Action het volgende:

  • Bouw de containerinstallatiekopieën en push deze naar Azure Container Registry
  • De containerinstallatiekopieën implementeren in de gemaakte container-app

De up opdracht maakt gebruik van het Dockerfile in de hoofdmap van de opslagplaats om de containerinstallatiekopieën te bouwen. De EXPOSE instructie in het Dockerfile definieert de doelpoort. Een Docker-bestand is niet vereist om een container-app te bouwen.

  • De taal en runtime automatisch detecteren
  • Bouw de installatiekopieën met behulp van het juiste Buildpack
  • Push de installatiekopieën naar het standaardregister van Azure Container Apps

De container-app moet toegankelijk zijn voor inkomend verkeer. Zorg ervoor dat poort 8080 beschikbaar wordt gesteld om te luisteren naar binnenkomende aanvragen.

Vervang in de volgende opdracht de <YOUR_GITHUB_REPOSITORY_NAME> naam van uw GitHub-opslagplaats in de vorm van https://github.com/<OWNER>/<REPOSITORY-NAME> of <OWNER>/<REPOSITORY-NAME>.

Vervang in de volgende opdracht de <YOUR_GITHUB_REPOSITORY_NAME> naam van uw GitHub-opslagplaats in de vorm van https://github.com/<OWNER>/<REPOSITORY-NAME> of <OWNER>/<REPOSITORY-NAME>. Gebruik de --branch buildpack optie om te verwijzen naar de voorbeeldbron zonder een 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
  --

Met behulp van de URL en de gebruikerscode die in de terminal wordt weergegeven, gaat u naar de activeringspagina van het GitHub-apparaat in een browser en voert u de gebruikerscode in op de pagina. Volg de aanwijzingen om de Azure CLI toegang te geven tot uw GitHub-opslagplaats.

Met de up opdracht maakt u een GitHub Action-werkstroom in de map .github/werkstromen van uw opslagplaats. De werkstroom wordt geactiveerd om uw container-app te bouwen en te implementeren wanneer u wijzigingen naar de opslagplaats pusht.


Implementatie verifiëren

Kopieer de domeinnaam die wordt geretourneerd door de containerapp up browser naar een webbrowser. Ga vanuit uw webbrowser naar het /albums eindpunt van de URL.

Schermopname van het antwoord van het API-eindpunt voor albums.

Resources opschonen

Als u niet doorgaat met de zelfstudie Een front-end implementeren, kunt u de Azure-resources die tijdens deze quickstart zijn gemaakt, verwijderen met de volgende opdracht.

Let op

Met de volgende opdracht verwijdert u de opgegeven resourcegroep en alle resources erin. Als de groep resources bevat die buiten het bereik van deze quickstart vallen, worden ze ook verwijderd.

az group delete --name $RESOURCE_GROUP

Tip

Ondervindt u problemen? Laat het ons weten op GitHub door een probleem te openen in de Azure Container Apps-opslagplaats.

Volgende stappen

Nadat u deze quickstart hebt voltooid, kunt u doorgaan met zelfstudie: Communicatie tussen microservices in Azure Container Apps om te leren hoe u een front-endtoepassing implementeert die de API aanroept.