Skriptet deploy/paketera.sh skär plattformen i numrerade paket i driftsättningsordning: plan med SHA256-summor, AWS-basen, backend- bilderna, webbilden, arbetslasten och slutkontrollen. Varje paket bär sin egen ANVISNING-AGENT.md med steg, verifiering och stoppvillkor, plus fillista och versionsstämpel under paketunik väg så att alla paket kan packas upp i samma arbetskatalog. Ordningen är motiverad i planen: basen före bilderna (registret måste finnas), bilderna före arbetslasten (apply drar dem), verifieringen sist. 02 och 03 är utpekat parallelliserbara med samma bildtagg. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012EQg3rJsrQ1ZNTvkzmQAtt
2.3 KiB
Paket 02 · Backendtjänsterna
Detta paket innehåller services/: plattformstjänsten (auth,
händelse-API, delning, fakturering), AI-orkestern och den delade koden
i gemensam/. Här byggs och publiceras de två backendbilderna.
Kräver att paket 01 är klart och verifierat: registret och databasen finns, och du har registeradressen ur dess rapport. Paket 03 är oberoende av detta paket och får köras parallellt av en annan agent — men med SAMMA bildtagg.
Steg 1 — testa före bygge
Grönt lokalt är villkoret för att bygga över huvud taget:
cd services/plattform
npm ci
bash integrationstest.sh # hela ärendeflödet mot en lokal server
bash aterstallningstest.sh # säkerhetskopian går att läsa tillbaka
Steg 2 — bygg bilderna
Byggkontexten är services/ — Dockerfilerna hämtar den delade
observationsmodulen därifrån. Taggen är git-SHA:t ur PAKET.txt;
registret har oföränderliga taggar, så en tagg som redan finns kan
inte återanvändas.
cd services
REG=<registeradress ur paket 01> # t.ex. …dkr.ecr.eu-north-1.amazonaws.com
TAGG=<git-SHA ur PAKET.txt>
docker build -f plattform/Dockerfile -t "$REG/felsokning-plattform:$TAGG" .
docker build -f ai-orkester/Dockerfile -t "$REG/felsokning-ai-orkester:$TAGG" .
Exakta reponamn: aws ecr describe-repositories — avviker de från
raderna ovan gäller registrets namn, inte anvisningens.
Steg 3 — publicera
aws ecr get-login-password | docker login --username AWS --password-stdin "$REG"
docker push "$REG/felsokning-plattform:$TAGG"
docker push "$REG/felsokning-ai-orkester:$TAGG"
Verifiering
aws ecr describe-images --repository-name felsokning-plattform \
--query 'imageDetails[].imageTags' | grep "$TAGG"
aws ecr describe-images --repository-name felsokning-ai-orkester \
--query 'imageDetails[].imageTags' | grep "$TAGG"
docker run --rm "$REG/felsokning-plattform:$TAGG" node --version # bilden startar
Rapportera taggen och båda bildernas digest — paket 04 sätter taggen i
bildtagg och digesten är svaret på "vilken kod kör i produktion".
Stoppvillkor
Rött integrationstest eller återställningstest: bygg ingenting. Misslyckad push mot befintlig tagg betyder att taggen redan är använd — välj en ny tagg (nytt SHA), skriv aldrig över.