runnerhut
Svar
Direkta svar på ingenjörers frågor om CI.
Fakturering och kostnad21
Debiteras jag när ett GitHub Actions-jobb misslyckas?Ja. Du faktureras för de minuter som förbrukats fram till felet, inte för ett framgångsrikt resultat.Är GitHub Actions gratis för öppen källkod?Ja, på GitHub-värdade standardlöpare för offentliga arkiv, utan minutavgift.Är GitHub Actions gratis för privata arkiv?Nej. Privata förvar får en månatlig inkluderad minuttillägg enligt plan, sedan faktureras per minut.Betalar jag en sittplatsavgift för klarade löpare?På runnerhut, nej. Fakturering sker per beräkningsminut utan kostnad per utvecklare.Betalar jag för kötid?Nej. Fakturering startar när ditt första steg körs, inte när jobbet står i kö.Betalar jag för både löparen och den fjärranslutna Docker-byggaren?Ja, men byggaren faktureras endast för de sekunder som den aktivt bygger.Hur faktureras ett avbokat jobb?Du betalar för de minuter som förflutit före avbokningen, avrundat till faktureringssteg.Finns det ett lägsta faktureringssteg?runnerhut räkningar per sekund med minst en minut per jobb.Hur mycket kostar hanterade GitHub Actions löpare?runnerhut Linux x64 löpare börjar på $0,004 per minut, ungefär halva GitHubs listpris för motsvarande storlek.Vilken är den billigaste löparstorleken?Den minsta storleken som håller ditt jobb på sin kritiska väg — vanligtvis 2 eller 4 vCPU för ludd- och enhetstester.Är arm64 billigare än x64?Ja. runnerhut arm64 löpare är prissatta cirka 20 % under motsvarande x64-storlek.Är det billigare att köra färre, större löpare?Bara om din arbetsbelastning faktiskt går parallellt. Annars betalar du mer per minut för kärnor som sitter på tomgång.Kan jag sätta en utgiftsgräns?Ja. runnerhut stöder hårda budgettak per organisation och per arkiv.Vad händer när gratiskrediter tar slut?Jobb slutar schemaläggas förrän du lägger till en betalningsmetod eller höjer taket.Hur uppskattar jag min GitHub Actions-räkning?Multiplicera månadsminuter per OS med minuthastigheten för det operativsystemet och lägg sedan till lagringsutrymme för artefakter och cache.Hur förutser jag löparutgifter?Ta 90 dagars eftersläpande minuter per arbetsflöde, tillämpa din sammanslagningshastighet och lägg till utrymme för matrisändringar.Varför är min GitHub Actions-räkning så hög?Vanligtvis en av fyra saker: macOS-minuter, matrisexplosion, ingen samtidig avbrytning eller överdimensionerade löpare.Betalar offentliga förvar för hanterade löpare?På GitHub-värdar standardlöpare, nej. På hanterade leverantörer inklusive runnerhut, ja – men program med öppen källkod är tillgängliga.Vad kostar Actions cachelagring?GitHub inkluderar 10 GB per lagringsplats utan kostnad och avhysningar utöver det. runnerhut cache är obegränsad och ingår.Hur faktureras ögonblicksbildlagring?Per gigabyte-månad för den behållna ögonblicksbilden, separat från beräkningsminuterna.Kan jag köra fler samtidiga jobb än vad min GitHub-plan tillåter?Ja. Managed runner concurrency ställs in av din löparleverantör, inte av din GitHub-plans gränser för värdlöpare.
Prestanda10
Varför är GitHub Actions långsamma?Vanligast: delad vCPU, kalla cachar, nätverksansluten disk och kötid innan jobbet ens börjar.Hur snabbt startar löpare efter att ett jobb står i kö?runnerhut löpare startar på cirka tre sekunder från en varm pool.Behöver jag ändra mitt arbetsflöde?Nej. Ändra påkörningsetiketten och lämna allt annat som det är.Hur väljer jag en löparstorlek?Börja en storlek över din nuvarande löpare, kontrollera sedan CPU-användningen och stoppa när kurvan planar ut.Varför står mina jobb i kö bakom varandra?Du har nått en samtidighetsgräns - antingen din plans, din löpargrupps eller en samtidighetsgrupp i arbetsflödet.Varför går mina Python-tester långsammare i CI än lokalt?pytest är seriellt som standard, och din bärbara dator har snabbare prestanda med en kärna och en varm filsystemcache.Varför är npm-installationen långsam i CI?node_modules skriver tiotusentals små filer, och nätverksansluten CI-disk hanterar det dåligt.Varför startar Gradle-demonen varje körning?Varje CI-jobb är en ny maskin, så det finns ingen demon att återanvända – och utan konfigurationscachen utvärderar Gradle hela bygget.Varför visar mitt jobb höga I/O-väntningar?Arbetsbelastningen är diskbunden — vanligtvis beroendeinstallation, extraktion av containerlager eller en databas i en tjänstcontainer.Hur många jobb kan köras på en gång?Det beror på din plan för GitHub-värdade löpare och på din konfigurerade samtidighet för hanterade löpare.
Cachning38
Varför bygger Cargo om allt?Din cache-nyckel ändras vid varje körning, eller mål/cachelagras inte alls.Varför är cacheåterställning långsam?GitHub stryper cachens bandbredd, så en multi-gigabyte cache kan ta minuter att återställa.Hur skriver jag en bra cache-nyckel?Hasha exakt de filer som bestämmer det cachade innehållet - vanligtvis låsfilen - och inget annat.Vad är återställningsnycklar?Beställda prefix försökte när den exakta cache-nyckeln saknas, så en partiell matchning kan fortfarande återställas.Varför missar min cache varje körning?Nyckeln innehåller något som ändrar varje körning - vanligtvis github.sha eller en tidsstämpel.Hur länge räcker cacherna?GitHub vräker cacher oanvända i 7 dagar, eller tidigare om förvaret överstiger 10 GB.Hur rensar jag en cache?Ta bort den från förvarets Actions cache-sida eller via REST API eller gh CLI.Bär cacher över grenar?En gren kan läsa cacher från sig själv och från sin basgren, men inte från orelaterade grenar.Kan jag dela en cache mellan arbetsflöden?På GitHub-värdar löpare, endast inom samma arkiv och grenomfång. runnerhut cacher delas över arbetsflöden i organisationen.Vad är gränsen för GitHub Actions cachestorlek?10 GB per förråd, varefter de minst senast använda poster vräkas.Hur cachelagrar jag node_modules?Cache ~/.npm inkodad på package-lock.json, eller återställ node_modules direkt om din installation är deterministisk.Hur cachelagrar jag pip-beroenden?Cache ~/.cache/pip inskriven på requirements.txt, eller cacha hela virtualenv för en större vinst.Hur cachelagrar jag Go-moduler?Cache ~/go/pkg/mod och ~/.cache/go-build knappade på go.sum.Hur cachelagrar jag Cargo-beroenden?Cache ~/.cargo/registry, ~/.cargo/git och target/ inskriven på Cargo.lock.Hur cachelagrar jag Maven-beroenden?Cache ~/.m2/repository nyckelad på en hash av varje pom.xml.Hur cachelagrar jag Gradle-byggen?Cache ~/.gradle/caches och ~/.gradle/wrapper, och aktivera bygg- och konfigurationscachen.Hur cachelagrar jag Bundler-ädelstenar?Cacheförsäljare/bunt är inskriven på Gemfile.lock så att inbyggda tillägg kompileras en gång.Hur cachelagrar jag Composer-beroenden?Cache ~/.composer/cache knappad på composer.lock.Hur cachelagrar jag CocoaPods?Cache Pods/ och ~/Library/Caches/CocoaPods knappade på Podfile.lock.Hur cachelagrar jag Swift Package Manager-beroenden?Cache .build och ~/Library/Caches/org.swift.swiftpm knappade på Package.resolved.Hur cachar jag Yarn Berry?Cache .yarn/cache och .yarn/install-state.gz inkodade på yarn.lock.Hur cachelagrar jag uv- eller poesimiljöer?Cache ~/.cache/uv eller ~/.cache/pypoetry inskriven på låsfilen, plus .venv-katalogen.Hur cachelagrar jag Playwright-webbläsare?Cache ~/.cache/ms-playwright inskriven på Playwright-versionen från din låsfil.Hur cachelagrar jag Docker-lager?Använd en fjärrbyggare som håller cachen lokalt, eller exportera till ett register med cache-till och cache-från.Fungerar cachning i ett containerjobb?Ja, men sökvägar inuti behållaren skiljer sig från sökvägar på värden, så cache-nycklar måste referera till behållarsökvägar.Fungerar cacher över arkitekturer?Nej. Kompilerade artefakter för x64 är inte giltiga på arm64, så arkitektur måste vara en del av nyckeln.Fungerar cacher på Windows-runners?Ja, men sökvägsavgränsare och skiftlägeskänslighet skiljer sig, så nycklar och sökvägar behöver Windows-specifik hantering.Hur behåller jag en Docker-lagercache mellan pull-förfrågningar?Använd en beständig fjärrbyggare – dess cache är inte omfånget till en gren.Kan jag cachelagra en byggd bild istället för att bygga om?Ja – skjut det till ett register taggat av innehållshash och dra det när ingångarna är oförändrade.Kan jag hålla en databas varm mellan jobben?Inte med servicecontainrar, som förstörs i och med jobbet. Ladda en förmigrerad schemadump istället.Kan jag behålla Xcode DerivedData mellan körningarna?Ja. Persist ~/Library/Developer/Xcode/DerivedData — det är den största enskilda vinsten för iOS CI.Ersätter ögonblicksbildlöpare åtgärder/cache?De kan. En ögonblicksbild återställer hela maskinens tillstånd, så installationssteget försvinner istället för att bli snabbare.Vad bärs över i en ögonblicksbild?Hela filsystemet vid ögonblicksbild - installerade paket, byggda tillägg, verktygskedjan kataloger och varm sida cache.Hur ogiltigförklarar jag en ögonblicksbild?Knappa in den på din låsfils-hash så att en beroendeändring automatiskt utlöser en ombyggnad.Hur länge håller ögonblicksbilder?14 dagar som standard på runnerhut, sedan ombyggd vid nästa användning.Kan jag ta en ögonblicksbild på en funktionsgren?Ja, och grenögonblicksbilder är isolerade från varandra.Vad är ögonblicksbildlöpare?Löpare som startar från en filsystemavbildning som tagits efter att dina beroenden installerades, så installationen hoppas över helt.Fungerar ögonblicksbilder på macOS-runners?Ja, och de är särskilt värdefulla där eftersom CocoaPods och DerivedData båda är långsamma att bygga om.
arm6412
Kan GitHub Actions köra arm64?Ja. GitHub erbjuder arm64-löpare på betalda planer, och hanterade leverantörer inklusive runnerhut erbjuder dem på alla planer.Kan jag bygga arm64-bilder på en x64-löpare?Ja, med QEMU - men det är 5–40 gånger långsammare än att bygga inbyggt.Vad förändras när man flyttar från x64 till arm64?Inbyggda moduler, Python-hjul och alla x86-enheter behöver aarch64-stöd. De flesta vanliga beroenden har det nu.Kan jag köra arm64- och x64-jobb i samma arbetsflöde?Ja. Använd en matris med en annan löparetikett per arkitektur.Stöder arm64 löpare buildx?Ja, och på inbyggd arm64-hårdvara producerar buildx arm64-bilder utan emulering.Kan jag köra 32-bitars ARM bygger på arm64 löpare?Ja, via korskompilering med en armhf-verktygskedja, eller med multilib-stöd där tillgängligt.Hur kör jag arm64-integreringstester?Kör hela jobbet på en inbyggd arm64-runner, inklusive eventuella servicecontainrar, som måste ha arm64-bilder.Vilka arm64 löpare storlekar finns tillgängliga?runnerhut erbjuder 2 till 64 vCPU arm64 löpare på Ubuntu 22.04 och 24.04.Använder arm64 löpare en annan arbetskatalog?Nej. Sökvägarna matchar x64-bilderna, så arbetsflöden portar utan förändring.Hur bygger jag en Rust-binär för flera mål?Använd en matris med en inbyggd löpare per mål, istället för att korskompilera allt på en maskin.Kan GitHub Actions bygga flerbågsbilder?Ja — antingen med QEMU på en löpare, eller inbyggt på löpare per arkitektur och slås samman till en manifestlista.Är QEMU eller native arm64 snabbare?Native, med en faktor på 5 till 40 beroende på hur mycket byggnaden kompilerar.
macOS och iOS15
Stöder GitHub Actions löpare macOS?Ja, både GitHub-värdade och hanterade leverantörer erbjuder macOS-löpare på Apple silicon.Kan jag bygga iOS-appar utan en Mac-runner?Nej. Xcode körs bara på macOS, så en iOS-version kräver en macOS-löpare.Är Xcode förinstallerat på macOS-runners?Ja. runnerhut-bilder levererar flera Xcode-versioner med matchande kommandoradsverktyg.Hur väljer jag en Xcode-version?Kör sudo xcode-select -s /Applications/Xcode_16.4.app innan dina byggsteg.Vilka Xcode-versioner finns tillgängliga?runnerhut macOS 15-bilder bär Xcode 16.0, 16.2 och 16.4; macOS 14-bilder har 15.2 och 15.4.Vilka macOS-versioner stöds?runnerhut erbjuder macOS 14- och macOS 15-bilder på Apple silicon.Stöder GitHub Actions Apple silicon?Ja. Både GitHub-värd och hanterade macOS-löpare körs nu på Apple silicon.Hur mycket disk har macOS-runners?runnerhut macOS-löpare ger 250 GB till 1 TB NVMe beroende på storlek.Vilka simulator körtider levereras på macOS löpare?iOS 17.5 till 18.4, plus körtider för watchOS, tvOS och visionOS.Kan jag använda Docker på macOS-runners?Endast via en Linux VM, som är långsam. Kör Docker arbetsbelastningar på Linux-runners istället.Kan jag köra macOS-runners i EU?Ja. runnerhut driver macOS-kapacitet i EU-regioner för datauppehållskrav.Kan jag köra Android- och iOS-versioner i ett arbetsflöde?Ja – använd en matris med en macOS-runner för iOS och en Linux-runner för Android.Hur snabbar jag upp upprepade Xcode-byggen?Behåll DerivedData mellan körningar och pin Xcode-versionen.Hur kör jag iOS-tester parallellt?Skärva efter testmål eller testklass över flera simulatorer på en stor macOS-löpare.Hur notiserar jag en macOS-app i CI?Använd notarytool med en App Store Connect API-nyckel lagrad som en hemlighet.
Windows11
Kan GitHub Actions köra Windows-builds?Ja. Windows Server-runners är tillgängliga både från GitHub och från hanterade leverantörer.Kan jag köra Windows Server 2022-versioner?Ja. runnerhut erbjuder Windows Server 2022 och 2025-bilder.Vilka Windows-versioner stöds?Windows Server 2022 och Windows Server 2025.Är Visual Studio förinstallerat?Ja. Byggverktyg för 2022 och 2025 levereras med arbetsbelastningarna C++, .NET desktop, ASP.NET och UWP.Hur installerar jag extra Windows SDK-komponenter?Använd vs_installer.exe modifiera med --add och komponent-ID.Varför startar Windows-runners långsammare?Windows startar långsammare och Defender skannar allt som kassan skriver.Kan jag köra Docker på Windows-runners?Ja, för Windows-behållare. Linux-behållare kräver kapslad virtualisering.Stöder Windows-runners kapslad virtualisering?På runnerhut, ja på Windows Server 2025-bilder och storlekar som exponerar Hyper-V.Vilken är den minsta Windows-runnerstorleken?4 vCPU. Mindre storlekar spenderar för mycket av jobbet på OS-overhead för att vara användbart.Kan jag köra tester parallellt på Windows?Ja. dotnet test --parallel och MSBuild -m använder båda flera kärnor.Hur kör jag PowerShell-skript?Ställ in skal: pwsh på steget för PowerShell Core, eller skal: powershell för Windows PowerShell 5.1.
Docker17
Hur minskar jag bilddragtiden?Använd en register-pull-through-cache i samma nätverk som löparen.Hur återställer jag en Docker-byggarcache?Kör docker buildx prune på buildern, eller återskapa builder-instansen.Har fjärrbyggare stöd för flerplattformsbyggen?Ja. runnerhut kör separata amd64- och arm64-byggare och slår samman resultaten.Hur skickar jag en manifestlista?Bygg varje arkitektur efter sammanfattning och kombinera dem sedan med docker buildx imagetools create.Varför bygger min Docker långsam?Cold layer cache, cache överförd över nätverket eller arm64 byggd under emulering.Varför tar Docker build slut på disk?GitHub-värdar löpare har cirka 14 GB ledigt, vilket stora bilder och deras lagercache tar slut snabbt.Varför ogiltigförklarar en basbilduppdatering allt?Varje lager efter FROM beror på basbildsammandraget, så en ny bas ogiltigförklarar dem alla.Vad är skillnaden mellan cache-från och cache-till?cache-from importerar en befintlig lagercache; cache-to exporterar cachen som produceras av den här versionen.Behöver jag buildx?För flerplattformsbyggen, cachemontering eller fjärrbyggare, ja. För en enkel enkelbågskonstruktion, nej.Vad är en fjärransluten Docker-byggare?En beständig BuildKit-instans som ditt jobb kopplar till, som håller lagercachen på sin egen disk.Hur faktureras en fjärrbyggare?Per sekund av aktiv byggtid, separat från löparminuterna.Kan två jobb dela på en byggare?Ja. Matrisben och separata arbetsflöden kan kopplas till samma byggare och dela dess cache.Hur bygger jag och driver i ett steg?Använd docker/build-push-action med push: true.Hur använder jag Docker Bake?Definiera mål i docker-bake.hcl och kör docker buildx bake i ett steg.Hur autentiserar jag till ett privat register?Använd docker/inloggningsåtgärd med en token, eller OIDC för molnregister.Kan jag köra Docker Compose?Ja. Compose v2 är förinstallerat; använd docker compose up -d --wait så att stegen inte kör uppstart.Kan jag använda Podman istället för Docker?Ja. Podman är tillgänglig och är i stort sett CLI-kompatibel med Docker.
Säkerhet19
Är ögonblicksbildlöpare säkra för offentliga arkiv?Endast om ögonblicksbilder tas från betrodda grenar och aldrig från fork pull-förfrågningar.Hur skapar jag en SBOM?Aktivera buildx:s sbom: true output, eller kör syft mot den byggda bilden.Hur bifogar jag bygghärkomst?Använd actions/attest-build-provenance, eller buildx's provenance: true attestation.Hur skickar jag hemligheter till en Docker-byggnad?Använd BuildKit bygghemligheter med --secret, aldrig ARG eller ENV.Är GitHub Actions löpare säkra?GitHub-värd och välrenommerade hanterade löpare är tillfälliga virtuella engångsmaskiner, vilket är den rätta isoleringsmodellen.Lagrar löpare min källkod?Endast under tjänstens varaktighet. runnerhut förstör den virtuella datorn och torkar dess disk när jobbet slutar.Kan löparplattformen se mina hemligheter?Hemligheter dekrypteras i löparens minne för att användas, så vilken löparplattform som helst skulle kunna göra det.Hur ställer jag in GITHUB_TOKEN-behörigheter?Lägg till ett behörighetsblock på arbetsflödes- eller jobbnivå och bevilja endast de omfattningar som behövs.Hur autentiserar jag till AWS med OIDC?Konfigurera GitHub som en OIDC-leverantör i IAM och använd aws-actions/configure-aws-credentials med en roll.Ändrar hanterade löpare mina GitHub-behörigheter?Nej. Jobb körs med samma GITHUB_TOKEN och samma behörigheter som på GitHub-värdar.Kan jag begränsa vilka förråd som använder mina löpare?Ja, med löpargrupper inriktade på specifika organisationer eller arkiv.Är runnerhut SOC 2 kompatibel?runnerhut upprätthåller SOC 2 Typ 2, med rapporten tillgänglig under NDA.Var lagras min byggdata?I den region du väljer. Beräkna, cache, loggar och mätvärden är alla fästa till samma region.Kan jag behålla byggen bara inom EU?Ja. Implementeringar endast inom EU fäster beräkning, cache, loggar och mätvärden till EU-regioner.Kan jag begränsa utgående trafik?Ja. Utgående policyer förnekar som standard och tillåter endast de destinationer du listar.Hur granskar jag löparkonfigurationsändringar?Granskningsloggen registrerar aktör, tidsstämpel, käll-IP och före/efter värden för varje konfigurationsändring.Var springer hanterade löpare fysiskt?I leverantörens datacenter, eller i ditt eget molnkonto under BYOC.Vad händer med löpardiskar efter ett jobb?På runnerhut raderas de kryptografiskt och den virtuella datorn förstörs.Håller löpare staten mellan jobben?Efemeriska löpare gör det inte. Ihärdiga löpare som är självvärdar gör det, vilket är en säkerhetsrisk på offentliga arkiv.
Ta med ditt eget moln18
Kan löpare komma åt mitt privata nätverk?Ja, via BYOC-löpare i din VPC eller ett mesh-nätverk som Tailscale.Kan löpare springa i mitt eget molnkonto?Ja. BYOC distribuerar löpare till ditt AWS-, GCP- eller Azure-konto medan kontrollplanet förblir hanterat.Vad skapar runnerhut i mitt molnkonto?En autoskalningsgrupp, en cache-bucket, en register-pull-through-cache, en scoped IAM-roll och en VPC-slutpunkt.Vilka AWS-behörigheter behöver BYOC?Behörigheter att hantera sin egen autoskalningsgrupp, dess cache-bucket och dess instansroll – inget vidare.Kan jag använda min egen VPC?Ja. Du anger VPC och subnät ID och löpare placeras där.Kan BYOC-löpare nå interna tjänster?Ja — det är den främsta anledningen till att använda BYOC. De sitter i ditt nätverk med normal routing.Behöver BYOC-löpare en NAT-gateway?De behöver utgående internet för bild- och paketdrag, vilket vanligtvis innebär en NAT-gateway.Kan BYOC-löpare springa i ett privat subnät?Ja, och det borde de. Utgående åtkomst går via NAT- eller VPC-slutpunkter.Kan jag koppla en IAM-roll till en BYOC-löpare?Ja, via en instansprofil — så jobb får inloggningsuppgifter utan någon lagrad hemlighet.Fungerar BYOC med IMDSv2?Ja, och IMDSv2 tillämpas som standard.Kan jag köra BYOC i flera regioner?Ja. Distribuera modulen per region och märk löpare efter region.Stöder BYOC anpassade bilder?Ja. Tillför din egen AMI eller maskinbild med dina verktyg inbakade.Stöder BYOC Windows?Ja på AWS och Azure. GCP Windows-stöd är mer begränsat.Stöder BYOC GCP lokal SSD?Ja, på maskinfamiljer som erbjuder det.Hur fungerar BYOC-fakturering?Du betalar din molnleverantör för beräkning och nätverk, och runnerhut en reducerad kontrollplansavgift.Hur taggar jag BYOC-resurser?Ställ in kostnadsfördelningstaggar i Terraform-modulen; de sprider sig till varje skapad resurs.Hur tar jag bort en BYOC-stack?Töm löparna och förstör sedan modulen.Kan jag kontrollera utträde på BYOC-löpare?Ja, med säkerhetsgrupper, NACL och runnerhut egress policy tillsammans.
Arbetsflöden30
Hur många jobb kan en matris längta efter?GitHub begränsar en enda matris till 256 jobb per arbetsflödeskörning.Hur återskapar jag ett CI-fel lokalt?Matcha löparbilden, sedan SSH till en levande löpare om felet bara visas i CI.Kan jag SSH till en löpare?Ja. runnerhut stöder att öppna en felsökningssession på ett körande jobb med en auktoriserad SSH-nyckel.Kan jag blanda GitHub-värdade och hanterade löpare?Ja. påkörningar är per jobb, så olika jobb i ett arbetsflöde kan använda olika leverantörer.Hur byter jag löpare?Redigera påkörningsvärdet för jobbet. Inget annat behöver ändras.Hur kör jag ett jobb bara när filer ändras?Använd banor eller banor-ignorera på avtryckaren, eller en förändringsdetekteringsåtgärd för bättre kontroll.Hur kör jag ett arbetsflöde manuellt?Lägg till en workflow_dispatch-utlösare, eventuellt med maskinskrivna indata.Hur kör jag jobb enligt ett schema?Använd schematriggern med cron-syntax, i UTC.Hur avbryter jag ersatta körningar?Ställ in en samtidighetsgrupp som skrivs på referen med avbrytning pågår: sant.Hur begränsar jag ett arbetsflöde till en körning åt gången?Använd ett fast samtidig gruppnamn med pågående annullering: false.Vad händer när två arbetsflöden delar en samtidig grupp?De serialiseras — den andra väntar eller avbryter den första beroende på pågående avbokning.Hur ställer jag in en tidsgräns för jobbet?Lägg till timeout-minuter till jobbet. Standard är sex timmar.Hur försöker jag igen ett misslyckat steg?Använd en åtgärd för att försöka igen, eller linda kommandot i en skalförsöksslinga.Hur återanvänder jag ett arbetsflöde över arkiv?Publicera ett återanvändbart arbetsflöde och anrop det med workflow_call.Hur skriver jag en sammansatt åtgärd?Skapa action.yml med runs.using: composite och en steglista.Hur använder jag matrisinkludera och exkludera?inkludera tillägger eller utökar kombinationer; exclude tar bort dem från den genererade produkten.Hur hoppar jag över CI på en commit?Lägg till [hoppa över ci] i commit-meddelandet.Hur skriver jag en arbetssammanfattning?Lägg till Markdown till $GITHUB_STEP_SUMMARY.Hur kör jag en databas i CI?Deklarera det som en servicebehållare med hälsokontroll.Hur publicerar jag ett paket?Använd OIDC betrodd publicering där registret stöder det, annars en scoped token i en miljöhemlighet.Hur delar jag data mellan jobb?Ladda upp en artefakt i ett jobb och ladda ner det i nästa, eller använd jobbutdata för små värden.Hur stoppar jag ett långsamt arbetsflödesblockering?Dela upp nödvändiga kontroller från rådgivande och markera endast de snabba, pålitliga jobben efter behov.Hur kör jag webbläsartest utan huvud?Använd den huvudlösa flaggan för din löpare, eller xvfb-run för verktyg som kräver en skärm.Hur kör jag Go race detektortester?Spring go test-race. Räkna med ungefär 2–10 gånger långsammare exekvering och högre minnesanvändning.Vad är skillnaden mellan ett jobb och ett steg?Ett jobb körs på en löpare och innehåller steg; steg körs sekventiellt i samma arbetsyta.Vad är skillnaden mellan löpare med GitHub-värd och självvärd?GitHub-värd är hanterade, tillfälliga och faktureras per minut. Själv-värd är din att driva, på din hårdvara.Vilka operativsystem kan GitHub Actions köras?Linux, Windows och macOS, på x64 och arm64 beroende på leverantör.Hur länge bevaras artefakter?90 dagar som standard, konfigurerbar per lager eller per uppladdning ner till en dag.Hur felsöker jag ett misslyckat jobb?Aktivera stegfelsökningsloggning, lägg till en jobbsammanfattning eller öppna en SSH-session på löparen.Hur kör jag ett jobb endast på pull-förfrågningar?Använd pull_request-utlösaren och ett if-villkor för finare kontroll som att hoppa över utkast.
Observerbarhet19
Hur ser jag kostnad per arbetsflöde?runnerhut instrumentpanel delar upp utgifterna efter arbetsflöde, jobb, etikett och arkiv.Hur ser jag kostnad per löpare-etikett?Filtrera användningspanelen efter etikett för att se minuter och utgifter per löparetyp.Hur upptäcker jag en underdimensionerad löpare?Uthållig CPU nära 100 %, minnestryck eller växlingsaktivitet genom jobbet.Hur hittar jag det långsammaste steget i ett arbetsflöde?Sortera steg efter varaktighet i körvyn, eller använd runnerhut-tidslinjen (runnerhut) som visar kö, inställning och stegtid separat.Hur hittar jag vilket arbetsflöde som blev långsammare?Jämför p95 varaktighet per arbetsflöde månad över månad i analysinstrumentpanelen.Hur mäter jag cacheträfffrekvens?runnerhut instrumentpanel rapporterar träfffrekvens, återställningstid och storlek per cache-nyckel.Hur exporterar jag jobbdata?Använd runnerhut API eller GitHub Actions REST API och skriv resultaten till CSV.Kan en AI-agent fråga mina CI-statistik?Ja, genom runnerhut MCP-server, som exponerar byggen, varaktigheter, fel och kostnader som verktyg.Kan AI-agenter utlösa CI-jobb?Ja, genom API:t eller genom att pusha grenar, som vilken annan aktör som helst.Vilka mätvärden visar API:et?Kötid, varaktighetspercentiler, cacheträfffrekvens, CPU- och minnesanvändning och kostnad per jobb, etikett och arbetsflöde.Hur ser jag CPU och minnesanvändning för ett jobb?runnerhut registrerar utnyttjandet per jobb automatiskt och visar det på körsidan.Kan jag varna om jobb som är slut på minnet?Ja. Varning om OOM dödar eller om minnesanvändning passerar en tröskel.Hur tar jag fram en veckorapport för CI-hälsan?Schemalägg ett arbetsflöde som frågar mätvärdes-API:et och publicerar p95 varaktighet, cacheträfffrekvens, flinghastighet och utgifter.Varför dödades mitt jobb med exitkod 137?Det är en OOM-död – processen överskred tillgängligt minne.Varför tog mitt jobb slut på disken?GitHub-värdar löpare har ungefär 14 GB ledigt; Docker lager och node_modules tar slut så snabbt.Har löpare stora skivor?GitHub-värdar löpare har cirka 14 GB ledigt. runnerhut löpare tillhandahåller 150 GB till 2 TB lokalt NVMe.Begränsar löpargrupper samtidighet?De kan. En grupp kan ha sitt eget samtidighetstak oberoende av din kontogräns.Vilka GitHub API-hastighetsgränser påverkar CI?GITHUB_TOKEN är begränsad per förvar per timme; arbetsflöden som gör många API-anrop kan tömma det.Varför får mina jobb timeouts för nätverket?Vanligtvis registerhastighetsbegränsning, en flaskhals för NAT-gatewayen eller en utträdespolicy som tyst släpper trafik.