Før kursstart · Mini-Nils

Prerequisites

Dette må være på plass før du begynner å bygge agenten. Du trenger ikke ha deployet noe på forhånd, og du trenger ingen Azure-innlogging. Deployen går fra GitHub Actions.

Forberedelse15–30 minutter.
MiljøPowerShell 7 lokalt. Devcontainer eller Codespace er fallback.
Første målFå en grønn miljøsjekk før Lab 1.

Dette trenger du

Kryss av listen før kursdagen, eller bruk den som startpunkt når du åpner mini-nils.zip.

Velg arbeidsmiljø

Lokalt med pwsh

Hovedsporet. Installer PowerShell 7, .NET 10 SDK, Git, gh og Python 3. Alle kommandoene i labbene er skrevet for pwsh. Du trenger ikke az, jq, Docker, Node.js eller Claude Code lokalt. Dry-run kaller ikke Claude, og Claude Code ligger i worker-imaget i Azure.

Devcontainer eller Codespace

Fallback hvis du ikke får installert verktøyene. Starter-kitet har et ferdig miljø med .NET 10, gh og pwsh. Start pwsh i terminalen, så virker kommandoene i labbene likt.

Hvis noe er blokkert

Si fra før Lab 1. Codespaces eller en kursmaskin er fallback, slik at miljøoppsett ikke spiser tiden til oppgaven.

KEDA i Lab 2KEDA (Kubernetes Event-driven Autoscaling) følger med på Storage Queue og starter Azure-jobben når det ligger en melding der. Det gjør at workeren kan skalere til null når køen er tom i stedet for å kjøre hele tiden. Lab 2 forklarer hvordan polling-intervallet påvirker ventetiden.

Tilganger og verdier

Du skal ikke gjette deg fram til kursverdier eller bruke private produksjonsressurser. Tre verdier får du av kurslederen, to lager du selv. Alt legges inn i ditt eget agentrepo mot slutten av Lab 1.

VerdiNårHvem leverer denHva du gjør
GH_TOKENFør Lab 1Du selvKlassisk token med bare public_repo og kort utløp. Legg det i lokal .env for dry-run og som repository secret.
AGENT_NAMEFør Lab 1Du selvAgentnavnet ditt, for eksempel kari. 3–12 tegn, små bokstaver, tall og bindestrek, og det må starte med en bokstav. Legg det i lokal .env og som repository variable. Det er også etiketten agenten lytter etter.
AZURE_CREDENTIALSSlutten av Lab 1KurslederenRepository secret. Gir Contributor på den delte ressursgruppen rg-agentic-workshop. Bruk den bare i GitHub Actions, aldri lokalt, og ikke del den videre.
ANTHROPIC_API_KEYSlutten av Lab 1KurslederenRepository secret. Én felles kursnøkkel med ett felles kostnadstak. Du trenger den ikke lokalt, dry-run kaller ikke Claude.
WEBHOOK_SECRETSlutten av Lab 1KurslederenRepository secret. Samme verdi som kurslederen bruker når webhooken registreres.
ANTHROPIC_WORKSPACE_IDStandard i zipKurslederenKursets workspace-ID ligger allerede i starter-kitet. Du gjør ingenting.
Azure-kursverdierLab 1 og 2Starter-kitetGitHub Actions bruker rg-agentic-workshop, felles ACR og pull-identitet automatisk.
GitHub Actions-innstillingerRepository variable: AGENT_NAME. Repository secrets: AZURE_CREDENTIALS, GH_TOKEN, ANTHROPIC_API_KEY og WEBHOOK_SECRET. Ingen andre variables eller secrets er nødvendige.
Kurs-tokenet med public_repoGH_TOKEN lager du selv som et klassisk token med bare public_repo på GitHub. Vær klar over hva det gir: public_repo når alle offentlige repoer du kan skrive til, ikke bare Oslo Live. Derfor skal det ha kort utløp, og workeren er låst til TARGET_REPO (novanet/workshop.oslo-live) og avviser andre repoer. Du må ha godtatt collaborator-invitasjonen, ellers får tokenet ikke skrive. Lab 1 bruker tokenet fra lokal .env i lesende dry-run. Azure-workeren får det som repository secret.

Lag ditt GitHub-token

Tokenet brukes av workeren mot øvingsrepoet. Det er separat fra gh auth login, som du bruker med din egen GitHub-konto for å opprette agentrepoet.

1

Åpne klassiske tokens

Gå til GitHub → New personal access token (classic). Lenken fyller inn navn og scope for deg. Fine-grained funker ikke for collaborators utenfor Novanet-orgen.

2

Gi minst mulig tilgang

Kryss bare av public_repo. Ikke velg hele repo, da får tokenet tilgang til alle private repoer du har. Velg kort utløp, for eksempel 7 dager.

3

Lagre verdien lokalt

Copy-Item .env.example .env

Åpne .env og fyll inn:

GH_TOKEN=ghp_...
AGENT_NAME=kari

GitHub viser tokenverdien bare én gang. Mot slutten av Lab 1 legger du den også inn som repository secret GH_TOKEN. Ikke legg den i kode, issue, PR eller skjermbilde. Hvis Azure-workeren logger addComment eller replaceActorsForAssignable, sjekk først at du har godtatt collaborator-invitasjonen, deretter at tokenet har public_repo.

Miljøsjekk

Kjør dette i pwsh fra mappen der du pakket ut starter-kitet. Versjonsnumrene kan være nyere, men kommandoene skal svare uten feil.

$PSVersionTable.PSVersion
dotnet --version
git --version
gh --version
gh auth status
python --version
dotnet build
FerdigDu er klar for Lab 1 når verktøyene svarer, gh auth status viser at du er logget inn, og løsningen bygger grønt. Test GitHub-tokenet uten API-kall med dotnet run --project src/Worker -- --issue 1 --repo novanet/workshop.oslo-live --dry-run. Ingen lokal issue-kjøring skal reservere, kommentere eller opprette PR. Det skjer først fra Azure i Lab 2.

Hvis betalingen eller nøkkelen stopper deg

Du skal ikke kjøpe API-kreditt selv. Claude.ai-abonnement og Anthropic API-betaling er separate.

Anthropic-nøkkelenKurset har én felles Anthropic-nøkkel med ett felles kostnadstak. Den legges bare som repository secret og brukes av Azure-workeren. Du trenger den ikke lokalt, --dry-run virker uten. Ikke send nøkkelen i chat. Feiler Azure-jobben på nøkkel eller workspace, si fra til kurslederen.

Ikke nødvendig før start