runnerhut (løberhytte)
Svar
Direkte svar på de spørgsmål udviklere stiller om CI.
Fakturering og omkostninger21
Bliver jeg faktureret, når et GitHub Actions-job mislykkes?Ja. Du bliver faktureret for de minutter, der er brugt indtil fejlen, ikke for et vellykket resultat.Er GitHub Actions gratis for open source?Ja, på GitHub-hostede standardløbere til offentlige arkiver uden minutafgift.Er GitHub Actions gratis for private arkiver?Nej. Private depoter får et månedligt tillæg for inkluderede minutter efter plan, og fakturer derefter pr. minut.Betaler jeg et sædegebyr for administrerede løbere?På runnerhut, no. Fakturering er pr. regneminut uden gebyr pr. udvikler.Betaler jeg for køtid?Nej. Fakturering starter, når dit første trin udføres, ikke når jobbet er i kø.Betaler jeg både for løberen og den eksterne Docker-bygger?Ja, men bygherren faktureres kun for de sekunder, den aktivt bygger.Hvordan faktureres et aflyst job?Du betaler for de minutter, der er forløbet før annullering, afrundet til faktureringsstigningen.Er der en minimumsfaktureringsstigning?runnerhut regninger pr. sekund med minimum et minut pr. job.Hvor meget koster administrerede GitHub Actions løbere?runnerhut Linux x64-løbere starter ved $0,004 pr. minut, omkring halvdelen af GitHubs listepris for den tilsvarende størrelse.Hvad er den billigste løberstørrelse?Den mindste størrelse, der holder dit job på dens kritiske vej - normalt 2 eller 4 vCPU til fnug- og enhedstest.Er arm64 billigere end x64?Ja. runnerhut arm64 løbere er prissat omkring 20% under den tilsvarende x64 størrelse.Er det billigere at køre færre, større løbere?Kun hvis din arbejdsbyrde rent faktisk er parallel. Ellers betaler du mere i minuttet for kerner, der står i tomgang.Kan jeg sætte en forbrugsgrænse?Ja. runnerhut understøtter hårde budgetlofter pr. organisation og pr. lager.Hvad sker der, når gratis kreditter løber tør?Jobs stopper med at blive planlagt, før du tilføjer en betalingsmetode eller hæver loftet.Hvordan estimerer jeg min GitHub Actions-regning?Multiplicer månedlige minutter pr. OS med hastigheden pr. minut for det pågældende OS, og tilføj derefter lagerplads til artefakter og cache.Hvordan forudser jeg løberforbrug?Tag efterfølgende 90-dages minutter pr. workflow, anvend din fusionshastighedsvækst, og tilføj plads til matrixændringer.Hvorfor er min GitHub Actions-regning så høj?Normalt én af fire ting: macOS-minutter, matrixeksplosion, ingen samtidighedsannullering eller overdimensionerede løbere.Betaler offentlige depoter for administrerede løbere?På GitHub-hostede standardløbere, nej. På administrerede udbydere inklusive runnerhut, ja - men open source-programmer er tilgængelige.Hvad koster Actions-cachelagring?GitHub inkluderer 10 GB pr. opbevaringssted uden beregning og bortvisninger ud over det. runnerhut cache er ubegrænset og inkluderet.Hvordan faktureres snapshot-lagring?Per gigabyte-måned for det bevarede øjebliksbillede, adskilt fra beregningsminutterne.Kan jeg køre flere samtidige job, end min GitHub-plan tillader?Ja. Administreret løber-samtidighed er indstillet af din løberudbyder, ikke af din GitHub-plans hosted-runner-grænser.
Ydeevne10
Hvorfor er GitHub Actions langsomme?Oftest: delt vCPU, kolde caches, netværkstilsluttet disk og køtid, før jobbet overhovedet starter.Hvor hurtigt starter løbere efter et job er i kø?runnerhut løbere starter på cirka tre sekunder fra en varm pool.Skal jeg ændre min arbejdsgang?Nej. Skift tilkøringsmærket og lad alt andet være som det er.Hvordan vælger jeg en løberstørrelse?Start en størrelse over din nuværende løber, kontroller derefter CPU-udnyttelsen og stop, når kurven flader ud.Hvorfor står mine job i kø bag hinanden?Du har ramt en samtidighedsgrænse - enten din plans, din løbergruppes eller en samtidighedsgruppe i arbejdsgangen.Hvorfor kører mine Python-tests langsommere i CI end lokalt?pytest er seriel som standard, og din bærbare computer har hurtigere single-core ydeevne og en varm filsystemcache.Hvorfor er npm-installation langsom i CI?node_modules skriver titusindvis af små filer, og netværkstilsluttet CI-disk håndterer det dårligt.Hvorfor starter Gradle-dæmonen hver gang?Hvert CI-job er en frisk maskine, så der er ingen dæmon at genbruge - og uden konfigurationscachen revurderer Gradle hele buildet.Hvorfor viser mit job høj I/O-ventetid?Arbejdsbelastningen er diskbundet - normalt afhængighedsinstallation, udtræk af containerlag eller en database i en servicecontainer.Hvor mange job kan køre på én gang?Det afhænger af din plan for GitHub-hostede løbere og af din konfigurerede samtidighed for administrerede løbere.
Caching38
Hvorfor genopbygger Cargo alt?Din cache-nøgle ændres ved hver kørsel, eller mål/ er slet ikke cachelagret.Hvorfor er cache-gendannelse langsom?GitHub begrænser cachens båndbredde, så en multi-gigabyte cache kan tage minutter at gendanne.Hvordan skriver jeg en god cache-nøgle?Hash præcis de filer, der bestemmer det cachelagrede indhold - normalt låsefilen - og intet andet.Hvad er gendannelsesnøgler?Bestilte præfikser prøvet, når den nøjagtige cache-nøgle mangler, så et delvist match kan stadig gendannes.Hvorfor går min cache glip af hvert løb?Nøglen inkluderer noget, der ændrer hver kørsel - almindeligvis github.sha eller et tidsstempel.Hvor længe holder cachen?GitHub fjerner cacher ubrugte i 7 dage, eller hurtigere, hvis lageret overstiger 10 GB.Hvordan rydder jeg en cache?Slet det fra depotets Actions cache-side eller via REST API eller gh CLI.Bærer caches på tværs af grene?En gren kan læse caches fra sig selv og fra sin basisgren, men ikke fra urelaterede grene.Kan jeg dele en cache mellem arbejdsgange?På GitHub-hostede løbere, kun inden for samme lager- og filialomfang. runnerhut caches deles på tværs af arbejdsgange i organisationen.Hvad er grænsen for GitHub Actions cachestørrelse?10 GB pr. depot, hvorefter de mindst nyligt brugte poster bliver smidt ud.Hvordan cacher jeg node_modules?Cache ~/.npm tastet på package-lock.json, eller gendan node_modules direkte, hvis din installation er deterministisk.Hvordan cacher jeg pip-afhængigheder?Cache ~/.cache/pip tastet på requirements.txt, eller cache hele virtualenv for en større gevinst.Hvordan cacher jeg Go-moduler?Cache ~/go/pkg/mod og ~/.cache/go-build tastet på go.sum.Hvordan cacher jeg Cargo-afhængigheder?Cache ~/.cargo/registry, ~/.cargo/git og target/ tastet på Cargo.lock.Hvordan cacher jeg Maven-afhængigheder?Cache ~/.m2/lager indtastet på en hash af hver pom.xml.Hvordan cacher jeg Gradle builds?Cache ~/.gradle/caches og ~/.gradle/wrapper, og aktiver build- og konfigurationscaches.Hvordan cachelagrer jeg Bundler ædelstene?Cache leverandør/bundle tastet på Gemfile.lock, så native udvidelser kompileres én gang.Hvordan cacher jeg Composer-afhængigheder?Cache ~/.composer/cache tastet på composer.lock.Hvordan cacher jeg CocoaPods?Cache Pods/ og ~/Library/Caches/CocoaPods indtastet på Podfile.lock.Hvordan cachelagrer jeg Swift Package Manager-afhængigheder?Cache .build og ~/Library/Caches/org.swift.swiftpm tastet på Package.resolved.Hvordan cacher jeg Yarn Berry?Cache .yarn/cache og .yarn/install-state.gz tastet på yarn.lock.Hvordan cachelagrer jeg uv- eller poesi-miljøer?Cache ~/.cache/uv eller ~/.cache/pypoetry tastet på låsefilen, plus .venv-mappen.Hvordan cacher jeg Playwright-browsere?Cache ~/.cache/ms-playwright indtastet på Playwright-versionen fra din låsefil.Hvordan cacher jeg Docker lag?Brug en fjernbygger, der holder cachen lokalt, eller eksporter til et register med cache-til og cache-fra.Fungerer caching inde i et containerjob?Ja, men stier inde i containeren adskiller sig fra stier på værten, så cachenøgler skal referere til containerstier.Fungerer caches på tværs af arkitekturer?Nej. Kompilerede artefakter til x64 er ikke gyldige på arm64, så arkitektur skal være en del af nøglen.Fungerer caches på Windows-løbere?Ja, men stiadskillere og store og små bogstaver er forskellige, så nøgler og stier kræver Windows-specifik håndtering.Hvordan beholder jeg en Docker lagcache mellem pull-anmodninger?Brug en vedvarende fjernbygger - dens cache er ikke omfattet af en gren.Kan jeg cache et bygget billede i stedet for at genopbygge?Ja - skub det til et register mærket med indholdshash og træk det, når inputs er uændrede.Kan jeg holde en database varm mellem jobs?Ikke med servicecontainere, som bliver ødelagt med jobbet. Indlæs et præmigreret skemadump i stedet.Kan jeg beholde Xcode DerivedData mellem kørsler?Ja. Persist ~/Library/Developer/Xcode/DerivedData — det er den største enkeltgevinst for iOS CI.Erstatter snapshot-løbere handlinger/cache?Det kan de. Et øjebliksbillede gendanner hele maskinens tilstand, så installationstrinnet forsvinder i stedet for at blive hurtigere.Hvad overføres i et øjebliksbillede?Hele filsystemet på øjebliksbillede - installerede pakker, indbyggede udvidelser, værktøjskædemapper og varm side-cache.Hvordan ugyldiggør jeg et øjebliksbillede?Indtast det på din låsefil-hash, så en afhængighedsændring automatisk udløser en genopbygning.Hvor længe varer snapshots?14 dage som standard på runnerhut, derefter genopbygget ved næste brug.Kan jeg snapshot på en feature-gren?Ja, og grensnapshots er isoleret fra hinanden.Hvad er øjebliksbilledeløbere?Løbere, der starter fra et filsystembillede, der er optaget efter dine afhængigheder blev installeret, så installationen springes helt over.Fungerer snapshots på macOS-løbere?Ja, og de er især værdifulde der, fordi CocoaPods og DerivedData begge er langsomme til at genopbygge.
arm 6412
Kan GitHub Actions køre arm64?Ja. GitHub tilbyder arm64-løbere på betalte planer, og administrerede udbydere inklusive runnerhut tilbyder dem på alle planer.Kan jeg bygge arm64-billeder på en x64-løber?Ja, med QEMU - men det er 5-40 gange langsommere end at bygge indbygget.Hvad ændrer sig, når man flytter fra x64 til arm64?Indbyggede moduler, Python-hjul og enhver x86-samling har brug for aarch64-understøttelse. De fleste almindelige afhængigheder har det nu.Kan jeg køre arm64- og x64-job i samme arbejdsgang?Ja. Brug en matrix med en anden runner label pr. arkitektur.Understøtter arm64 løbere buildx?Ja, og på native arm64-hardware producerer buildx arm64-billeder uden emulering.Kan jeg køre 32-bit ARM-builds på arm64-løbere?Ja, via krydskompilering med en armhf-værktøjskæde eller med multilib-understøttelse, hvor det er tilgængeligt.Hvordan kører jeg arm64 integrationstest?Kør hele jobbet på en indfødt arm64-løber, inklusive eventuelle servicecontainere, som skal have arm64-billeder.Hvilke arm64 løberstørrelser er tilgængelige?runnerhut tilbyder 2 til 64 vCPU arm64-løbere på Ubuntu 22.04 og 24.04.Bruger arm64-løbere en anden arbejdsmappe?Nej. Stierne matcher x64-billederne, så workflows port uden ændringer.Hvordan bygger jeg en Rust binær til flere mål?Brug en matrix med én indfødt løber pr. mål i stedet for at krydskompilere alt på én maskine.Kan GitHub Actions bygge multi-arch billeder?Ja - enten med QEMU på én runner eller indbygget på per-arkitektur løbere og slået sammen til en manifestliste.Er QEMU eller native arm64 hurtigere?Native, med en faktor på 5 til 40 afhængigt af hvor meget buildet kompilerer.
macOS og iOS15
Understøtter GitHub Actions løbere macOS?Ja, både GitHub-hostede og administrerede udbydere tilbyder macOS-løbere på Apple-silicium.Kan jeg bygge iOS-apps uden en Mac-løber?Nej. Xcode kører kun på macOS, så en iOS-build kræver en macOS-løber.Er Xcode forudinstalleret på macOS-løbere?Ja. runnerhut billeder sender flere Xcode-versioner med matchende kommandolinjeværktøjer.Hvordan vælger jeg en Xcode-version?Kør sudo xcode-select -s /Applications/Xcode_16.4.app før dine byggetrin.Hvilke Xcode-versioner er tilgængelige?runnerhut macOS 15-billeder bærer Xcode 16.0, 16.2 og 16.4; macOS 14-billeder bærer 15.2 og 15.4.Hvilke macOS-versioner understøttes?runnerhut tilbyder macOS 14 og macOS 15 billeder på Apple silicium.Understøtter GitHub Actions Apple silicium?Ja. Både GitHub-hostede og administrerede macOS-løbere kører nu på Apple-silicium.Hvor meget disk har macOS-løbere?runnerhut macOS-løbere giver 250 GB til 1 TB NVMe afhængigt af størrelse.Hvilke simulatorkørselstider leveres på macOS-løbere?iOS 17.5 til 18.4 plus watchOS, tvOS og visionOS runtimes.Kan jeg bruge Docker på macOS-løbere?Kun via en Linux VM, som er langsom. Kør Docker-arbejdsbelastninger på Linux-løbere i stedet.Kan jeg køre macOS-løbere i EU?Ja. runnerhut driver macOS-kapacitet i EU-regioner for krav til dataophold.Kan jeg køre Android- og iOS-builds i én arbejdsgang?Ja – brug en matrix med en macOS runner til iOS og en Linux runner til Android.Hvordan fremskynder jeg gentagne Xcode-builds?Persist DerivedData mellem kørsler og pin Xcode-versionen.Hvordan kører jeg iOS-test parallelt?Del efter testmål eller testklasse på tværs af flere simulatorer på én stor macOS-løber.Hvordan notificerer jeg en macOS-app i CI?Brug notarytool med en App Store Connect API-nøgle gemt som en hemmelighed.
Windows11
Kan GitHub Actions køre Windows-builds?Ja. Windows Server-løbere er tilgængelige både fra GitHub og fra administrerede udbydere.Kan jeg køre Windows Server 2022 builds?Ja. runnerhut tilbyder Windows Server 2022 og 2025 billeder.Hvilke Windows-versioner understøttes?Windows Server 2022 og Windows Server 2025.Er Visual Studio forudinstalleret?Ja. Byggeværktøjer til 2022 og 2025 leveres med arbejdsbelastningerne C++, .NET desktop, ASP.NET og UWP.Hvordan installerer jeg ekstra Windows SDK-komponenter?Brug vs_installer.exe modify med --add og komponent-id'et.Hvorfor starter Windows-løbere langsommere?Windows starter langsommere, og Defender scanner alt, hvad kassen skriver.Kan jeg køre Docker på Windows-løbere?Ja, til Windows-containere. Linux-containere kræver indlejret virtualisering.Understøtter Windows-løbere indlejret virtualisering?På runnerhut, ja på Windows Server 2025 billeder og størrelser, der eksponerer Hyper-V.Hvad er den mindste Windows-løberstørrelse?4 vCPU. Mindre størrelser bruger for meget af jobbet på OS-overhead til at være nyttige.Kan jeg køre test parallelt på Windows?Ja. dotnet test --parallel og MSBuild -m bruger begge flere kerner.Hvordan kører jeg PowerShell-scripts?Indstil shell: pwsh på trinnet til PowerShell Core, eller shell: powershell til Windows PowerShell 5.1.
Docker17
Hvordan reducerer jeg billedudtrækningstiden?Brug en registrerings-pull-through-cache i samme netværk som runneren.Hvordan nulstiller jeg en Docker builder-cache?Kør docker buildx prune på builderen, eller genskab builder-forekomsten.Understøtter fjernbyggere builds med flere platforme?Ja. runnerhut kører separate amd64- og arm64-buildere og slår resultaterne sammen.Hvordan skubber jeg en manifestliste?Byg hver arkitektur efter digest, og kombiner dem derefter med docker buildx imagetools create.Hvorfor er min Docker bygget langsomt?Cold layer cache, cache overført over netværket eller arm64 bygget under emulering.Hvorfor løber Docker build tør for disk?GitHub-hostede løbere har omkring 14 GB ledigt, hvilket store billeder og deres lagcache hurtigt udtømmes.Hvorfor ugyldiggør en basisbilledopdatering alt?Hvert lag efter FROM afhænger af basisbilledet, så en ny base ugyldiggør dem alle.Hvad er forskellen mellem cache-fra og cache-to?cache-fra importerer en eksisterende lagcache; cache-to eksporterer cachen produceret af denne build.Har jeg brug for buildx?Til multi-platform builds, cache mounts eller remote builders, ja. For en simpel enkeltbuet opbygning, nej.Hvad er en ekstern Docker builder?En vedvarende BuildKit-instans dit job knytter sig til, som beholder lagcachen på sin egen disk.Hvordan faktureres en fjernbygger?Per sekund af aktiv byggetid, adskilt fra løberminutterne.Kan to job dele én bygherre?Ja. Matrixben og separate arbejdsgange kan knyttes til den samme builder og dele dens cache.Hvordan bygger og skubber jeg i ét trin?Brug docker/build-push-action med push: true.Hvordan bruger jeg Docker Bage?Definer mål i docker-bake.hcl og kør docker buildx bake i et trin.Hvordan godkender jeg til et privat register?Brug docker/login-handling med et token eller OIDC til skyregistreringer.Kan jeg køre Docker Compose?Ja. Compose v2 er forudinstalleret; brug docker compose up -d --wait, så trin ikke kører racerstart.Kan jeg bruge Podman i stedet for Docker?Ja. Podman er tilgængelig og er stort set CLI-kompatibel med Docker.
Sikkerhed19
Er snapshot-løbere sikre for offentlige depoter?Kun hvis snapshots er taget fra betroede filialer og aldrig fra gaffeltræk-anmodninger.Hvordan genererer jeg en SBOM?Aktiver buildx's sbom: true output, eller kør syft mod det byggede billede.Hvordan vedhæfter jeg bygnings herkomst?Brug handlinger/attest-build-herkomst, eller buildx's herkomst: sand attestation.Hvordan overfører jeg hemmeligheder til en Docker build?Brug BuildKit byggehemmeligheder med --secret, aldrig ARG eller ENV.Er GitHub Actions løbere sikre?GitHub-hostede og velrenommerede administrerede løbere er flygtige engangs-VM'er, hvilket er den rigtige isolationsmodel.Gemmer løbere min kildekode?Kun i jobbets varighed. runnerhut ødelægger VM'en og tørrer dens disk, når jobbet slutter.Kan løberplatformen se mine hemmeligheder?Hemmeligheder dekrypteres i løberens hukommelse for at blive brugt, så enhver løberplatform teknisk set kunne.Hvordan indstiller jeg GITHUB_TOKEN-tilladelser?Tilføj en tilladelsesblok på workflow- eller jobniveau, og tildel kun de nødvendige omfang.Hvordan godkender jeg til AWS med OIDC?Konfigurer GitHub som en OIDC-udbyder i IAM og brug aws-actions/configure-aws-credentials med en rolle.Ændrer administrerede løbere mine GitHub-tilladelser?Nej. Jobs kører med den samme GITHUB_TOKEN og de samme tilladelser som på GitHub-hostede løbere.Kan jeg begrænse, hvilke repositories der bruger mine løbere?Ja, med løbergrupper, der er omfattet af specifikke organisationer eller lagre.Er runnerhut SOC 2 kompatibel?runnerhut opretholder SOC 2 Type 2, med rapporten tilgængelig under NDA.Hvor er mine byggedata gemt?I den region, du vælger. Beregning, cache, logfiler og metrics er alle fastgjort til den samme region.Kan jeg kun beholde builds i EU?Ja. Implementeringer kun i EU fastgør beregning, cache, logfiler og metrikker til EU-regioner.Kan jeg begrænse udgående trafik?Ja. Udgående politikker afviser som standard og tillader kun de destinationer, du angiver.Hvordan reviderer jeg runner-konfigurationsændringer?Revisionsloggen registrerer aktør, tidsstempel, kilde-IP og før/efter værdier for hver konfigurationsændring.Hvor løber administrerede løbere fysisk?I udbyderens datacentre, eller på din egen cloud-konto under BYOC.Hvad sker der med runner diske efter et job?På runnerhut slettes de kryptografisk, og VM'en destrueres.Holder løbere tilstand mellem jobs?Det gør flygtige løbere ikke. Vedholdende selv-hostede løbere gør, hvilket er en sikkerhedsrisiko på offentlige depoter.
Medbring din egen sky18
Kan løbere få adgang til mit private netværk?Ja, via BYOC-løbere i din VPC eller et mesh-netværk såsom Tailscale.Kan løbere løbe på min egen cloud-konto?Ja. BYOC implementerer løbere på din AWS-, GCP- eller Azure-konto, mens kontrolplanet forbliver administreret.Hvad opretter runnerhut på min cloud-konto?En autoskaleringsgruppe, en cache-bucket, en registrerings-pull-through-cache, en scoped IAM-rolle og et VPC-slutpunkt.Hvilke AWS-tilladelser har BYOC brug for?Tilladelser til at administrere sin egen autoskaleringsgruppe, dens cache-bøtte og dens instansrolle - intet bredere.Kan jeg bruge min egen VPC?Ja. Du leverer VPC og subnet ID'er og løbere placeres der.Kan BYOC-løbere nå interne tjenester?Ja - det er hovedårsagen til at bruge BYOC. De sidder inde i dit netværk med normal routing.Har BYOC-løbere brug for en NAT-gateway?De har brug for udgående internet til billed- og pakkeudtrækninger, hvilket normalt betyder en NAT-gateway.Kan BYOC-løbere løbe i et privat undernet?Ja, og det burde de. Udgående adgang går gennem NAT- eller VPC-slutpunkter.Kan jeg knytte en IAM-rolle til en BYOC-løber?Ja, via en instansprofil - så job får legitimationsoplysninger uden nogen gemt hemmelighed.Virker BYOC med IMDSv2?Ja, og IMDSv2 håndhæves som standard.Kan jeg køre BYOC i flere regioner?Ja. Implementer modulet pr. region, og mærk løbere efter region.Understøtter BYOC brugerdefinerede billeder?Ja. Forsyn dit eget AMI eller maskinbillede med dit værktøj indbagt.Understøtter BYOC Windows?Ja på AWS og Azure. GCP Windows-understøttelse er mere begrænset.Understøtter BYOC GCP lokal SSD?Ja, på maskinfamilier, der tilbyder det.Hvordan fungerer BYOC-fakturering?Du betaler din cloududbyder for databehandling og netværk, og runnerhut et reduceret kontrolflygebyr.Hvordan tagger jeg BYOC-ressourcer?Indstil omkostningsfordelingsmærker i Terraform-modulet; de forplanter sig til enhver skabt ressource.Hvordan sletter jeg en BYOC-stak?Dræn løberne, og terraform ødelægge derefter modulet.Kan jeg kontrollere udgang på BYOC-løbere?Ja, med sikkerhedsgrupper, NACL'er og runnerhut udgangspolitik sammen.
Arbejdsgange30
Hvor mange jobs kan en matrix fange ud til?GitHub begrænser en enkelt matrix til 256 jobs pr. workflowkørsel.Hvordan gengiver jeg en CI-fejl lokalt?Match løberbilledet, og SSH derefter til en live løber, hvis fejlen kun vises i CI.Kan jeg SSH til en løber?Ja. runnerhut understøtter åbning af en fejlretningssession på et kørende job med en autoriseret SSH-nøgle.Kan jeg blande GitHub-hostede og administrerede løbere?Ja. påkørsler er pr. job, så forskellige job i én arbejdsgang kan bruge forskellige udbydere.Hvordan skifter jeg løberen?Rediger opkøringsværdien for jobbet. Intet andet skal ændres.Hvordan kører jeg kun et job, når filerne ændres?Brug stier eller stier-ignorer på triggeren, eller en ændringsdetektionshandling for at få bedre kontrol.Hvordan kører jeg en arbejdsgang manuelt?Tilføj en workflow_dispatch-udløser, eventuelt med indtastede input.Hvordan kører jeg job efter en tidsplan?Brug tidsplantriggeren med cron-syntaks i UTC.Hvordan annullerer jeg erstattede kørsler?Indstil en samtidighedsgruppe tastet på dommeren med annullering i gang: sand.Hvordan begrænser jeg en arbejdsgang til én kørsel ad gangen?Brug et fast samtidighedsgruppenavn med annullering i gang: falsk.Hvad sker der, når to arbejdsgange deler en samtidighedsgruppe?De serialiseres - den anden venter eller annullerer den første afhængigt af igangværende annullering.Hvordan indstiller jeg en jobtimeout?Tilføj timeout-minutter til jobbet. Standard er seks timer.Hvordan prøver jeg igen et mislykket trin?Brug en genforsøgshandling, eller omslut kommandoen i en shell-gentagelsesløkke.Hvordan genbruger jeg en arbejdsgang på tværs af lagre?Udgiv en genanvendelig arbejdsgang og kald den med workflow_call.Hvordan skriver jeg en sammensat handling?Opret action.yml med runs.using: composite og en trinliste.Hvordan bruger jeg matrix inkludere og ekskludere?inkludere tilføjer eller udvider kombinationer; exclude fjerner dem fra det genererede produkt.Hvordan springer jeg CI over på en commit?Tilføj [skip ci] til commit-beskeden.Hvordan skriver jeg en joboversigt?Tilføj Markdown til $GITHUB_STEP_SUMMARY.Hvordan kører jeg en database i CI?Erklær det som en servicebeholder med et sundhedstjek.Hvordan udgiver jeg en pakke?Brug OIDC betroet udgivelse, hvor registreringsdatabasen understøtter det, ellers et scoped token i en miljøhemmelighed.Hvordan deler jeg data mellem jobs?Upload en artefakt i et job og download det i det næste, eller brug joboutput til små værdier.Hvordan stopper jeg implementeringen af en langsom blokering af workflow?Opdel de nødvendige checks fra de rådgivende og markér kun de hurtige, pålidelige job efter behov.Hvordan kører jeg browsertests uden hoved?Brug det hovedløse flag til din løber, eller xvfb-run til værktøjer, der kræver en skærm.Hvordan kører jeg Go race detektortests?Løb gå test-løb. Forvent ca. 2–10 gange langsommere udførelse og højere hukommelsesbrug.Hvad er forskellen mellem et job og et trin?Et job kører på én løber og indeholder trin; trin kører sekventielt i det samme arbejdsområde.Hvad er forskellen mellem GitHub-hostede og selv-hostede løbere?GitHub-hostede er administrerede, flygtige og faktureres pr. minut. Self-hosted er din til at betjene, på din hardware.Hvilke operativsystemer kan GitHub Actions køre?Linux, Windows og macOS, på x64 og arm64 afhængigt af udbyderen.Hvor længe opbevares artefakter?90 dage som standard, konfigurerbar pr. lager eller pr. upload ned til en dag.Hvordan fejlretter jeg et mislykket job?Aktiver trin-debug-logning, tilføj en joboversigt, eller åbn en SSH-session på runneren.Hvordan kører jeg kun et job på pull-anmodninger?Brug pull_request-triggeren og en if-betingelse for finere kontrol, såsom at springe kladder over.
Observerbarhed19
Hvordan ser jeg pris pr. arbejdsgang?runnerhut dashboard opdeler forbrug efter arbejdsgang, job, etiket og lager.Hvordan kan jeg se pris pr. løber-etiket?Filtrer brugsdashboardet efter etiket for at se minutter og forbrug pr. løbertype.Hvordan opdager jeg en underdimensioneret løber?Vedvarende CPU næsten 100 %, hukommelsestryk eller swap-aktivitet gennem jobbet.Hvordan finder jeg det langsomste trin i en arbejdsgang?Sorter trin efter varighed i løbsvisningen, eller brug runnerhut-tidslinjen (runnerhut), som viser kø, opsætning og trintid separat.Hvordan finder jeg ud af, hvilken arbejdsgang der blev langsommere?Sammenlign p95-varigheden pr. arbejdsgang måned over måned i analytics-dashboardet.Hvordan måler jeg cache hit rate?runnerhut dashboard rapporterer hitrate, gendannelsestid og størrelse pr. cache-nøgle.Hvordan eksporterer jeg jobdata?Brug runnerhut API eller GitHub Actions REST API og skriv resultaterne til CSV.Kan en AI-agent forespørge på mine CI-metrics?Ja, gennem runnerhut MCP-serveren, som afslører builds, varigheder, fejl og omkostninger som værktøjer.Kan AI-agenter udløse CI-job?Ja, gennem API'et eller ved at skubbe grene, som enhver anden aktør.Hvilke metrics afslører API'en?Køtid, varighedspercentiler, cachehitrate, CPU- og hukommelsesudnyttelse og pris pr. job, etiket og arbejdsgang.Hvordan kan jeg se CPU og hukommelsesforbrug til et job?runnerhut registrerer automatisk udnyttelse pr. job og viser det på løbesiden.Kan jeg advare om job, der mangler hukommelse?Ja. Advarsel om OOM-dræbning eller om hukommelsesudnyttelse krydser en tærskel.Hvordan laver jeg en ugentlig CI-sundhedsrapport?Planlæg en arbejdsgang, der forespørger på metrics API og poster p95-varighed, cache-hitrate, flake-rate og forbrug.Hvorfor blev mit job dræbt med exit-kode 137?Det er et OOM-dræb - processen overskred den tilgængelige hukommelse.Hvorfor løb mit job tør for disk?GitHub-hostede løbere har omkring 14 GB ledigt; Docker lag og node_modules udtømmes så hurtigt.Har løbere store diske?GitHub-hostede løbere har omkring 14 GB fri. runnerhut løbere giver 150 GB til 2 TB lokalt NVMe.Begrænser løbergrupper samtidighed?Det kan de. En gruppe kan bære sit eget samtidighedsloft uafhængigt af din kontogrænse.Hvilke GitHub API-hastighedsgrænser påvirker CI?GITHUB_TOKEN er begrænset pr. lager pr. time; arbejdsgange, der foretager mange API-kald, kan udtømme det.Hvorfor rammer mine job netværkstimeouts?Normalt registreringshastighedsbegrænsning, en NAT-gateway-flaskehals eller en udgangspolitik, der stille og roligt dropper trafik.