Reposkript
Reposkript er shellskript du konfigurerer per repo (Innstillinger → Arkiv →
terminalikonet på raden til et repo) som Control Centers server kjører mot
worktreet til et område for det repoet — den isolerte utsjekkingen under
<dataDir>/<workspaceId>/spaces/<spaceId>/repos/<repo>/ der agentene jobber.
Det finnes to typer:
| Skript | Når det kjøres | Bruk det til |
|---|---|---|
| Oppsett | Rett etter at et worktree er klargjort for et område | Installere avhengigheter, generere filer, kopiere .env |
| Arkivering | Like før et worktree ødelegges eller søppelsamles (GC) | Rydde opp i ressurser utenfor worktreet (docker-nettverk, tunneler, ekstern tilstand) |
Hvor skriptene kjører
Seksjon med tittelen «Hvor skriptene kjører»Begge skriptene kjører via bash -lc (et innloggingsskall, så verktøy
installert med Homebrew/nvm ligger på PATH) med worktreet som
arbeidskatalog, og med disse miljøvariablene satt:
| Variabel | Verdi |
|---|---|
CC_WORKSPACE_PATH |
Worktreet (arbeidskatalogen til skriptet) |
CC_ROOT_PATH |
Det registrerte kilde-repoet — din egen utsjekking |
CC_SPACE_ID |
Området worktreet tilhører |
CC_SPACE_NAME |
Visningsnavnet til området |
CC_REPO_NAME |
Visningsnavnet til repoet |
For eksempel et oppsettskript som installerer avhengigheter og henter inn
repoets gitignorerte .env:
pnpm installcp "$CC_ROOT_PATH/.env" .envpnpm run buildOppførsel ved feil
Seksjon med tittelen «Oppførsel ved feil»- Et oppsettskript som avsluttes med en annen returkode enn null (eller overskrider tidsavbruddet på 5 minutter) gjør at klargjøringen av området mislykkes: området viser den mislykkede tilstanden med et nytt forsøk, og halen av kjøringens utdata registreres. Et nytt forsøk klargjør fra et rent worktree og kjører skriptet på nytt — skriv oppsettskript slik at en ny kjøring etter en delvis installasjon fungerer (pakkebehandlere oppfører seg allerede slik).
- Et arkiveringsskript gjør så godt det kan: en feil (eller tidsavbruddet på 2 minutter) registreres, men blokkerer aldri sletting. Arkivering kjører på GC-baner der det ikke finnes noen til å svare på en forespørsel (område slettet, PR slått sammen, planlagt opprydding).
Oppsett kjører bare på et ferskt worktree: å sende agenter på nytt inn i et varmt område gjenbruker den eksisterende utsjekkingen og betaler ikke installasjonen på nytt.
Kjøringshistorikk
Seksjon med tittelen «Kjøringshistorikk»Hver kjøring registreres med status, varighet, avslutningskode og en begrenset
hale av utdataene, synlig i den samme innstillingsdialogen under «Nylige
kjøringer» (repos.watchScriptRuns-abonnementet strømmer den direkte).
Tillatelser
Seksjon med tittelen «Tillatelser»Skript er shell som serveren kjører, så det å skrive dem er begrenset til
arbeidsområdeadministratorer og beskyttet av handlingsklassen processSpawn —
det samme tillatelsesnettet som regulerer alle andre operasjoner som starter
prosesser.