Självstudie: Distribuera lokalt installerad CI/CD-löpare och agenter med Azure Container Apps-jobb
Med GitHub Actions och Azure Pipelines kan du köra CI/CD-arbetsflöden med lokalt installerade löpare och agenter. Du kan köra lokala löpare och agenter med hjälp av händelsedrivna Azure Container Apps-jobb.
Lokalt installerade löpare är användbara när du behöver köra arbetsflöden som kräver åtkomst till lokala resurser eller verktyg som inte är tillgängliga för en molnbaserad löpare. Till exempel tillåter en lokalt installerad löpare i ett Container Apps-jobb ditt arbetsflöde att komma åt resurser i jobbets virtuella nätverk som inte är tillgängligt för en molnhanterad löpare.
Genom att köra lokala löpare som händelsedrivna jobb kan du dra nytta av den serverlösa karaktären hos Azure Container Apps. Jobb körs automatiskt när ett arbetsflöde utlöses och avslutas när jobbet är klart.
Du betalar bara för den tid som jobbet körs.
I den här självstudien får du lära dig hur du kör GitHub Actions-löpare som ett händelsedrivet Container Apps-jobb.
- Skapa en Container Apps-miljö för att distribuera din egen värdbaserade löpare
- Skapa en GitHub-lagringsplats för att köra ett arbetsflöde som använder en lokalt installerad löpare
- Skapa en containeravbildning som kör en GitHub Actions-löpare
- Distribuera löparen som ett jobb till Container Apps-miljön
- Skapa ett arbetsflöde som använder den lokalt installerade löparen och kontrollera att det körs
Viktigt!
Lokalt installerade löpare rekommenderas endast för privata lagringsplatser. Om du använder dem med offentliga lagringsplatser kan farlig kod köras på din egen värdbaserade löpare. Mer information finns i Säkerhet för lokalt installerad löpare.
I den här självstudien får du lära dig hur du kör Azure Pipelines-agenter som ett händelsedrivet Container Apps-jobb.
- Skapa en Container Apps-miljö för att distribuera din lokalt installerad agent
- Skapa en Azure DevOps-organisation och ett projekt
- Skapa en containeravbildning som kör en Azure Pipelines-agent
- Använd ett manuellt jobb för att skapa en platshållaragent i Container Apps-miljön
- Distribuera agenten som ett jobb till Container Apps-miljön
- Skapa en pipeline som använder den lokalt installerade agenten och kontrollera att den körs
Viktigt!
Lokalt installerade agenter rekommenderas endast för privata projekt. Om du använder dem med offentliga projekt kan farlig kod köras på din lokala agent. Mer information finns i Säkerhet för lokalt installerad agent.
Kommentar
Containerappar och -jobb stöder inte körning av Docker i containrar. Alla steg i dina arbetsflöden som använder Docker-kommandon misslyckas när de körs på en lokalt installerad löpare eller agent i ett Container Apps-jobb.
Förutsättningar
Azure-konto: Om du inte har något kan du skapa ett kostnadsfritt.
Azure CLI: Installera Azure CLI.
- Azure DevOps-organisation: Om du inte har en DevOps-organisation med en aktiv prenumeration kan du skapa en kostnadsfritt.
Se jobbbegränsningar för en lista över begränsningar.
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.
RESOURCE_GROUP="jobs-sample"
LOCATION="northcentralus"
ENVIRONMENT="env-jobs-sample"
JOB_NAME="github-actions-runner-job"
RESOURCE_GROUP="jobs-sample"
LOCATION="northcentralus"
ENVIRONMENT="env-jobs-sample"
JOB_NAME="azure-pipelines-agent-job"
PLACEHOLDER_JOB_NAME="placeholder-agent-job"
Skapa en Container Apps-miljö
Azure Container Apps-miljön fungerar som en säker gräns för containerappar och jobb så att de kan dela samma nätverk och kommunicera med varandra.
Kommentar
Information om hur du skapar en Container Apps-miljö som är integrerad med ett befintligt virtuellt nätverk finns i Tillhandahålla ett virtuellt nätverk till en Azure Container Apps-miljö.
Använd följande kommando för att skapa en resursgrupp.
az group create \ --name "$RESOURCE_GROUP" \ --location "$LOCATION"
Skapa Container Apps-miljön med hjälp av följande kommando.
az containerapp env create \ --name "$ENVIRONMENT" \ --resource-group "$RESOURCE_GROUP" \ --location "$LOCATION"
Skapa en GitHub-lagringsplats för att köra ett arbetsflöde
Om du vill köra ett arbetsflöde måste du skapa en GitHub-lagringsplats som innehåller arbetsflödesdefinitionen.
Gå till GitHub och logga in.
Skapa en ny lagringsplats genom att ange följande värden.
Inställning Värde Ägare Välj ditt GitHub-användarnamn. Namn på lagringsplats Ange ett namn på lagringsplatsen. Synlighet Välj Privat. Initiera den här lagringsplatsen med Välj Lägg till en README-fil. Lämna resten av värdena som standardval.
Välj Create repository (Skapa lagringsplats).
Välj Åtgärder på den nya lagringsplatsen.
Sök efter mallen Enkelt arbetsflöde och välj Konfigurera.
Välj Genomför ändringar för att lägga till arbetsflödet på lagringsplatsen.
Arbetsflödet körs på den ubuntu-latest
GitHub-värdbaserade löparen och skriver ut ett meddelande till konsolen. Senare ersätter du Den GitHub-värdbaserade löparen med en lokalt installerad löpare.
Hämta en personlig Åtkomsttoken för GitHub
Om du vill köra en lokalt installerad löpare måste du skapa en personlig åtkomsttoken (PAT) i GitHub. Varje gång en löpare startar används PAT för att generera en token för att registrera löparen med GitHub. PAT används också av github actions-skalningsregeln för att övervaka lagringsplatsens arbetsflödeskö och starta löpare efter behov.
Kommentar
Personliga åtkomsttoken (PAT) har ett förfallodatum. Rotera dina token regelbundet för att säkerställa att de förblir giltiga (inte har upphört att gälla) för att upprätthålla oavbruten tjänst.
I GitHub väljer du din profilbild i det övre högra hörnet och väljer Inställningar.
Välj Inställningar för utvecklare.
Under Personliga åtkomsttoken väljer du Detaljerade token.
Välj Generera ny token.
På skärmen Ny detaljerad personlig åtkomsttoken anger du följande värden.
Inställning Värde Tokennamn Ange ett namn för din token. Förfallodatum Välj 30 dagar. Åtkomst till lagringsplats Välj Välj Endast lagringsplatser och välj den lagringsplats som du skapade. Ange följande värden för lagringsplatsbehörigheter.
Inställning Värde Åtgärder Välj Skrivskyddad. Administration Välj Läs och skriv. Metadata Välj Skrivskyddad. Välj Generera token.
Kopiera tokenvärdet.
Definiera variabler som används för att konfigurera löparen och skalningsregeln senare.
GITHUB_PAT="<GITHUB_PAT>" REPO_OWNER="<REPO_OWNER>" REPO_NAME="<REPO_NAME>"
Ersätt platshållarna med följande värden:
Platshållare Värde <GITHUB_PAT>
GitHub PAT som du genererade. <REPO_OWNER>
Ägaren till lagringsplatsen som du skapade tidigare. Det här värdet är vanligtvis ditt GitHub-användarnamn. <REPO_NAME>
Namnet på lagringsplatsen som du skapade tidigare. Det här värdet är samma namn som du angav i fältet Lagringsplatsnamn .
Skapa containeravbildningen GitHub Actions runner
Om du vill skapa en lokalt installerad löpare måste du skapa en containeravbildning som kör löparen. I det här avsnittet skapar du containeravbildningen och push-överför den till ett containerregister.
Kommentar
Avbildningen som du skapar i den här självstudien innehåller en grundläggande lokalt installerad löpare som är lämplig för att köras som ett Container Apps-jobb. Du kan anpassa den så att den innehåller ytterligare verktyg eller beroenden som dina arbetsflöden kräver.
Definiera ett namn för containeravbildningen och registret.
CONTAINER_IMAGE_NAME="github-actions-runner:1.0" CONTAINER_REGISTRY_NAME="<CONTAINER_REGISTRY_NAME>"
Ersätt
<CONTAINER_REGISTRY_NAME>
med ett unikt namn för att skapa ett containerregister. Containerregisternamn måste vara unika i Azure och vara mellan 5 och 50 tecken långa och innehåller endast siffror och gemener.Skapa ett containerregister.
az acr create \ --name "$CONTAINER_REGISTRY_NAME" \ --resource-group "$RESOURCE_GROUP" \ --location "$LOCATION" \ --sku Basic
Ditt containerregister måste tillåta Azure Resource Manager-målgruppstoken (ARM) för autentisering för att kunna använda hanterad identitet för att hämta avbildningar.
Använd följande kommando för att kontrollera om ARM-token får åtkomst till ditt Azure Container Registry (ACR).
az acr config authentication-as-arm show --registry "$CONTAINER_REGISTRY_NAME"
Om ARM-token tillåts matar kommandot ut följande.
{ "status": "enabled" }
status
Om ärdisabled
tillåter du ARM-token med följande kommando.az acr config authentication-as-arm update --registry "$CONTAINER_REGISTRY_NAME" --status enabled
Dockerfile för att skapa runner-avbildningen är tillgänglig på GitHub. Kör följande kommando för att klona lagringsplatsen och skapa containeravbildningen i molnet med kommandot
az acr build
.az acr build \ --registry "$CONTAINER_REGISTRY_NAME" \ --image "$CONTAINER_IMAGE_NAME" \ --file "Dockerfile.github" \ "https://github.com/Azure-Samples/container-apps-ci-cd-runner-tutorial.git"
Avbildningen är nu tillgänglig i containerregistret.
Skapa en användartilldelad hanterad identitet
Undvik att använda administrativa autentiseringsuppgifter genom att hämta avbildningar från privata lagringsplatser i Microsoft Azure Container Registry med hanterade identiteter för autentisering. När det är möjligt kan du använda en användartilldelad hanterad identitet för att hämta bilder.
Skapa en användartilldelad hanterad identitet. Innan du kör följande kommandon väljer du ett namn för din hanterade identitet och ersätter
\<PLACEHOLDER\>
med namnet.IDENTITY="<YOUR_IDENTITY_NAME>"
az identity create \ --name $IDENTITY \ --resource-group $RESOURCE_GROUP
Hämta identitetens resurs-ID.
IDENTITY_ID=$(az identity show \ --name $IDENTITY \ --resource-group $RESOURCE_GROUP \ --query id \ --output tsv)
Distribuera en lokalt installerad löpare som ett jobb
Nu kan du skapa ett jobb som använder för att använda containeravbildningen. I det här avsnittet skapar du ett jobb som kör den lokalt installerade löparen och autentiserar med GitHub med hjälp av den PAT som du genererade tidigare. Jobbet använder skalningsregeln github-runner
för att skapa jobbkörningar baserat på antalet väntande arbetsflödeskörningar.
Skapa ett jobb i Container Apps-miljön.
az containerapp job create \ --name "$JOB_NAME" \ --resource-group "$RESOURCE_GROUP" \ --environment "$ENVIRONMENT" \ --trigger-type Event \ --replica-timeout 1800 \ --replica-retry-limit 0 \ --replica-completion-count 1 \ --parallelism 1 \ --image "$CONTAINER_REGISTRY_NAME.azurecr.io/$CONTAINER_IMAGE_NAME" \ --min-executions 0 \ --max-executions 10 \ --polling-interval 30 \ --scale-rule-name "github-runner" \ --scale-rule-type "github-runner" \ --scale-rule-metadata "githubAPIURL=https://api.github.com" "owner=$REPO_OWNER" "runnerScope=repo" "repos=$REPO_NAME" "targetWorkflowQueueLength=1" \ --scale-rule-auth "personalAccessToken=personal-access-token" \ --cpu "2.0" \ --memory "4Gi" \ --secrets "personal-access-token=$GITHUB_PAT" \ --env-vars "GITHUB_PAT=secretref:personal-access-token" "GH_URL=https://github.com/$REPO_OWNER/$REPO_NAME" "REGISTRATION_TOKEN_API_URL=https://api.github.com/repos/$REPO_OWNER/$REPO_NAME/actions/runners/registration-token" \ --registry-server "$CONTAINER_REGISTRY_NAME.azurecr.io" \ --mi-user-assigned "$IDENTITY_ID" \ --registry-identity "$IDENTITY_ID"
I följande tabell beskrivs de nyckelparametrar som används i kommandot.
Skalningsregelkonfigurationen definierar den händelsekälla som ska övervakas. Regler utvärderas för varje avsökningsintervall för att avgöra hur många jobbkörningar som ska utlösas. Mer information finns i Ange skalningsregler.
Det händelsedrivna jobbet skapas nu i Container Apps-miljön.
Kör ett arbetsflöde och verifiera jobbet
Jobbet är konfigurerat för att utvärdera skalningsregeln var 30:e sekund. Under varje utvärdering kontrollerar den antalet väntande arbetsflödeskörningar som kräver en lokalt installerad löpare och startar en ny jobbkörning för väntande arbetsflöde, upp till högst 10 körningar.
För att verifiera att jobbet har konfigurerats korrekt ändrar du arbetsflödet så att det använder en lokalt installerad löpare och utlöser en arbetsflödeskörning. Du kan sedan visa jobbkörningsloggarna för att se arbetsflödet köras.
I GitHub-lagringsplatsen navigerar du till det arbetsflöde som du genererade tidigare. Det är en YAML-fil i
.github/workflows
katalogen.Välj Redigera på plats.
Uppdatera egenskapen
runs-on
tillself-hosted
:runs-on: self-hosted
Välj Genomför ändringar....
Välj Genomför ändringar.
Gå till fliken Åtgärder .
Ett nytt arbetsflöde har nu placerats i kö. Inom 30 sekunder startar jobbkörningen och arbetsflödet slutförs strax efter.
Vänta tills åtgärden har slutförts innan du går vidare med nästa steg.
Visa en lista över körningarna för jobbet för att bekräfta att en jobbkörning har skapats och slutförts.
az containerapp job execution list \ --name "$JOB_NAME" \ --resource-group "$RESOURCE_GROUP" \ --output table \ --query '[].{Status: properties.status, Name: name, StartTime: properties.startTime}'
Skapa ett Azure DevOps-projekt och en lagringsplats
För att köra en pipeline behöver du ett Azure DevOps-projekt och en lagringsplats.
Gå till Azure DevOps och logga in på ditt konto.
Välj en befintlig organisation eller skapa en ny.
På sidan organisationsöversikt väljer du Nytt projekt och anger följande värden.
Inställning Värde Projektnamn Ange ett namn för projektet. Synlighet Välj Privat. Välj Skapa.
I sidonavigering väljer du Lagringsplatser.
Under Initiera huvudgrenen med en README eller .gitignore väljer du Lägg till en README.
Lämna resten av värdena som standardvärden och välj Initiera.
Skapa en ny agentpool
Skapa en ny agentpool för att köra den lokalt installerade löparen.
I ditt Azure DevOps-projekt expanderar du det vänstra navigeringsfältet och väljer Projektinställningar.
Under avsnittet Pipelines i navigeringsmenyn Projektinställningar väljer du Agentpooler.
Välj Lägg till pool och ange följande värden.
Inställning Värde Pool att länka Välj Ny. Pooltyp Välj Lokalt installerad. Namn Ange containerappar. Bevilja åtkomstbehörighet till alla pipelines Markera den här kryssrutan. Välj Skapa.
Hämta en personlig åtkomsttoken för Azure DevOps
Om du vill köra en lokalt installerad löpare måste du skapa en personlig åtkomsttoken (PAT) i Azure DevOps. PAT används för att autentisera löparen med Azure DevOps. Den används också av skalningsregeln för att fastställa antalet väntande pipelinekörningar och utlösa nya jobbkörningar.
[!OBS]
Personliga åtkomsttoken (PAT) har ett förfallodatum. Rotera dina token regelbundet för att säkerställa att de förblir giltiga (inte har upphört att gälla) för att upprätthålla oavbruten tjänst.
I Azure DevOps väljer du Användarinställningar bredvid din profilbild i det övre högra hörnet.
Välj Personliga åtkomsttoken.
På sidan Personliga åtkomsttoken väljer du Ny token och anger följande värden.
Inställning Värde Namn Ange ett namn för din token. Organisation Välj den organisation som du valde eller skapade tidigare. Scope Välj Anpassad definierad. Visa alla omfång Välj Visa alla omfång. Agentpooler (läsa och hantera) Välj Agentpooler (Läs och hantera). Lämna alla andra omfång avmarkerade.
Välj Skapa.
Kopiera tokenvärdet till en säker plats.
Du kan inte hämta token när du har lämnat sidan.
Definiera variabler som används för att konfigurera Container Apps-jobb senare.
AZP_TOKEN="<AZP_TOKEN>" ORGANIZATION_URL="<ORGANIZATION_URL>" AZP_POOL="container-apps" REGISTRATION_TOKEN_API_URL="<YOUR_REGISTRATION_TOKEN_API_URL>"
Ersätt platshållarna med följande värden:
Platshållare Värde Kommentarer <AZP_TOKEN>
Azure DevOps PAT som du genererade. <ORGANIZATION_URL>
URL:en för din Azure DevOps-organisation. Kontrollera att ingen avslutande /
finns i slutet av URL:en.Exempel: https://dev.azure.com/myorg
ellerhttps://myorg.visualstudio.com
.<YOUR_REGISTRATION_TOKEN_API_URL>
URL:en för API:et för registreringstoken i filen entrypoint.sh . Till exempel "https://myapi.example.com/get-token"
Skapa containeravbildningen för Azure Pipelines-agenten
Om du vill skapa en lokalt installerad agent måste du skapa en containeravbildning som kör agenten. I det här avsnittet skapar du containeravbildningen och push-överför den till ett containerregister.
Kommentar
Avbildningen som du skapar i den här självstudien innehåller en grundläggande lokalt installerad agent som är lämplig för att köras som ett Container Apps-jobb. Du kan anpassa den så att den innehåller ytterligare verktyg eller beroenden som dina pipelines kräver.
I terminalen definierar du ett namn för containeravbildningen och registret.
CONTAINER_IMAGE_NAME="azure-pipelines-agent:1.0" CONTAINER_REGISTRY_NAME="<CONTAINER_REGISTRY_NAME>"
Ersätt
<CONTAINER_REGISTRY_NAME>
med ett unikt namn för att skapa ett containerregister.Containerregisternamn måste vara unika i Azure och vara mellan 5 och 50 tecken långa och innehåller endast siffror och gemener.
Skapa ett containerregister.
az acr create \ --name "$CONTAINER_REGISTRY_NAME" \ --resource-group "$RESOURCE_GROUP" \ --location "$LOCATION" \ --sku Basic \ --admin-enabled true
Dockerfile för att skapa runner-avbildningen är tillgänglig på GitHub. Kör följande kommando för att klona lagringsplatsen och skapa containeravbildningen i molnet med kommandot
az acr build
.az acr build \ --registry "$CONTAINER_REGISTRY_NAME" \ --image "$CONTAINER_IMAGE_NAME" \ --file "Dockerfile.azure-pipelines" \ "https://github.com/Azure-Samples/container-apps-ci-cd-runner-tutorial.git"
Avbildningen är nu tillgänglig i containerregistret.
Skapa en platshållaragent med egen värd
Innan du kan köra en lokalt installerad agent i den nya agentpoolen måste du skapa en platshållaragent. Platshållaragenten ser till att agentpoolen är tillgänglig. Pipelines som använder agentpoolen misslyckas när det inte finns någon platshållaragent.
Du kan köra ett manuellt jobb för att registrera en platshållaragent offline. Jobbet körs en gång och kan tas bort. Platshållaragenten förbrukar inga resurser i Azure Container Apps eller Azure DevOps.
Skapa ett manuellt jobb i containerappmiljön som skapar platshållaragenten.
az containerapp job create -n "$PLACEHOLDER_JOB_NAME" -g "$RESOURCE_GROUP" --environment "$ENVIRONMENT" \ --trigger-type Manual \ --replica-timeout 300 \ --replica-retry-limit 0 \ --replica-completion-count 1 \ --parallelism 1 \ --image "$CONTAINER_REGISTRY_NAME.azurecr.io/$CONTAINER_IMAGE_NAME" \ --cpu "2.0" \ --memory "4Gi" \ --secrets "personal-access-token=$AZP_TOKEN" "organization-url=$ORGANIZATION_URL" \ --env-vars "AZP_TOKEN=secretref:personal-access-token" "AZP_URL=secretref:organization-url" "AZP_POOL=$AZP_POOL" "AZP_PLACEHOLDER=1" "AZP_AGENT_NAME=placeholder-agent" \ --registry-server "$CONTAINER_REGISTRY_NAME.azurecr.io"
I följande tabell beskrivs de nyckelparametrar som används i kommandot.
Parameter Description --replica-timeout
Den maximala varaktighet som en replik kan köra. --replica-retry-limit
Antal gånger som en misslyckad replik ska försöka igen. --replica-completion-count
Antalet repliker som ska slutföras innan en jobbkörning anses vara lyckad. --parallelism
Antalet repliker som ska startas per jobbkörning. --secrets
Hemligheterna som ska användas för jobbet. --env-vars
Miljövariablerna som ska användas för jobbet. --registry-server
Den containerregisterserver som ska användas för jobbet. För ett Azure Container Registry konfigurerar kommandot automatiskt autentisering. AZP_PLACEHOLDER
Om du ställer in miljövariabeln konfigureras agentcontainern att registrera sig som en offlineplatshållaragent utan att köra ett jobb.Kör det manuella jobbet för att skapa platshållaragenten.
az containerapp job start -n "$PLACEHOLDER_JOB_NAME" -g "$RESOURCE_GROUP"
Visa en lista över körningarna för jobbet för att bekräfta att en jobbkörning har skapats och slutförts.
az containerapp job execution list \ --name "$PLACEHOLDER_JOB_NAME" \ --resource-group "$RESOURCE_GROUP" \ --output table \ --query '[].{Status: properties.status, Name: name, StartTime: properties.startTime}'
Kontrollera att platshållaragenten skapades i Azure DevOps.
- Gå till projektet i Azure DevOps.
- Välj Projektinställningar>Agentpooler>container-apps>Agenter.
- Bekräfta att en platshållaragent med namnet
placeholder-agent
visas och att dess status är offline.
Jobbet behövs inte igen. Du kan ta bort det.
az containerapp job delete -n "$PLACEHOLDER_JOB_NAME" -g "$RESOURCE_GROUP"
Skapa en lokalt installerad agent som ett händelsedrivet jobb
Nu när du har en platshållaragent kan du skapa en lokalt installerad agent. I det här avsnittet skapar du ett händelsedrivet jobb som kör en lokalt installerad agent när en pipeline utlöses.
az containerapp job create -n "$JOB_NAME" -g "$RESOURCE_GROUP" --environment "$ENVIRONMENT" \
--trigger-type Event \
--replica-timeout 1800 \
--replica-retry-limit 0 \
--replica-completion-count 1 \
--parallelism 1 \
--image "$CONTAINER_REGISTRY_NAME.azurecr.io/$CONTAINER_IMAGE_NAME" \
--min-executions 0 \
--max-executions 10 \
--polling-interval 30 \
--scale-rule-name "azure-pipelines" \
--scale-rule-type "azure-pipelines" \
--scale-rule-metadata "poolName=$AZP_POOL" "targetPipelinesQueueLength=1" \
--scale-rule-auth "personalAccessToken=personal-access-token" "organizationURL=organization-url" \
--cpu "2.0" \
--memory "4Gi" \
--secrets "personal-access-token=$AZP_TOKEN" "organization-url=$ORGANIZATION_URL" \
--env-vars "AZP_TOKEN=secretref:personal-access-token" "AZP_URL=secretref:organization-url" "AZP_POOL=$AZP_POOL" \
--registry-server "$CONTAINER_REGISTRY_NAME.azurecr.io"
I följande tabell beskrivs de skalningsregelparametrar som används i kommandot.
Skalningsregelkonfigurationen definierar den händelsekälla som ska övervakas. Regler utvärderas för varje avsökningsintervall för att avgöra hur många jobbkörningar som ska utlösas. Mer information finns i Ange skalningsregler.
Det händelsedrivna jobbet skapas nu i Container Apps-miljön.
Kör en pipeline och verifiera jobbet
När ett lokalt värdbaserat agentjobb har konfigurerats kan du köra en pipeline och kontrollera att det fungerar korrekt.
I det vänstra navigeringsfältet i ditt Azure DevOps-projekt går du till Pipelines.
Välj Skapa pipeline.
Välj Azure Repos Git som plats för din kod.
Välj den lagringsplats som du skapade tidigare.
Välj Startpipeline.
I YAML-pipelinen ändrar du
pool
frånvmImage: ubuntu-latest
tillname: container-apps
.pool: name: container-apps
Välj Spara och kör.
Pipelinen körs och använder det lokalt installerade agentjobbet som du skapade i Container Apps-miljön.
Visa en lista över körningarna för jobbet för att bekräfta att en jobbkörning har skapats och slutförts.
az containerapp job execution list \ --name "$JOB_NAME" \ --resource-group "$RESOURCE_GROUP" \ --output table \ --query '[].{Status: properties.status, Name: name, StartTime: properties.startTime}'
Dricks
Har du problem? Meddela oss på GitHub genom att öppna ett problem i Azure Container Apps-lagringsplatsen.
Rensa resurser
När du är klar kör du följande kommando för att ta bort resursgruppen som innehåller dina Container Apps-resurser.
Varning
Följande kommando tar bort den angivna resursgruppen och alla resurser som ingår i den. Om det finns resurser utanför omfånget för den här självstudien i den angivna resursgruppen tas de också bort.
az group delete \
--resource-group $RESOURCE_GROUP
Information om hur du tar bort din GitHub-lagringsplats finns i Ta bort en lagringsplats.