runnerhut
Svar
Direkte svar på spørsmålene utviklere stiller om CI.
Fakturering og kostnad21
Blir jeg fakturert når en GitHub Actions-jobb mislykkes?Ja. Du blir fakturert for minuttene som er brukt frem til feilen, ikke for et vellykket resultat.Er GitHub Actions gratis for åpen kildekode?Ja, på GitHub-vert for standardløpere for offentlige depoter, uten minuttavgift.Er GitHub Actions gratis for private depoter?Nei. Private depoter får en månedlig kvote for inkluderte minutter etter plan, og deretter fakturer per minutt.Betaler jeg en seteavgift for administrerte løpere?På runnerhut, nei. Fakturering er per beregningsminutt uten kostnad per utvikler.Betaler jeg for køtid?Nei. Fakturering starter når det første trinnet ditt utføres, ikke når jobben er i kø.Betaler jeg både for løperen og den eksterne Docker-byggeren?Ja, men byggherren faktureres bare for sekundene den bygger aktivt.Hvordan faktureres en kansellert jobb?Du betaler for minuttene som har gått før kanselleringen, avrundet til faktureringstrinn.Er det et minimum faktureringsøkning?runnerhut regninger per sekund med minimum ett minutt per jobb.Hvor mye koster administrerte GitHub Actions-løpere?runnerhut Linux x64-løpere starter på $0,004 per minutt, omtrent halvparten av GitHubs listepris for tilsvarende størrelse.Hva er den billigste løpestørrelsen?Den minste størrelsen som holder jobben din på den kritiske banen - vanligvis 2 eller 4 vCPU for lo- og enhetstester.Er arm64 billigere enn x64?Ja. runnerhut arm64-løpere er priset omtrent 20 % under tilsvarende x64-størrelse.Er det billigere å kjøre færre, større løpere?Bare hvis arbeidsmengden din faktisk er parallell. Ellers betaler du mer per minutt for kjerner som står uvirksomme.Kan jeg sette en forbruksgrense?Ja. runnerhut støtter harde budsjettgrenser per organisasjon og per depot.Hva skjer når gratis kreditter går tom?Jobber slutter å planlegges før du legger til en betalingsmetode eller hever grensen.Hvordan beregner jeg GitHub Actions-regningen min?Multipliser månedlige minutter per OS med minutthastigheten for det operativsystemet, og legg deretter til lagringsplass for artefakter og cache.Hvordan anslår jeg løperforbruk?Ta etterfølgende 90-dagers minutter per arbeidsflyt, bruk sammenslåingshastigheten din, og legg til takhøyde for matriseendringer.Hvorfor er regningen min for GitHub Actions så høy?Vanligvis én av fire ting: macOS-minutter, matriseeksplosjon, ingen samtidig kansellering eller overdimensjonerte løpere.Betaler offentlige depoter for administrerte løpere?På GitHub-vert for standardløpere, nei. På administrerte leverandører inkludert runnerhut, ja - men åpen kildekode-programmer er tilgjengelige.Hva koster Actions-bufferlagring?GitHub inkluderer 10 GB per depot uten kostnad og utkastelser utover det. runnerhut cache er ubegrenset og inkludert.Hvordan faktureres øyeblikksbildelagring?Per gigabyte-måned for det beholdte øyeblikksbildet, atskilt fra beregningsminuttene.Kan jeg kjøre flere samtidige jobber enn GitHub-planen min tillater?Ja. Administrert løpersamtidig angis av løperleverandøren din, ikke av GitHub-planens grenser for hosted runner.
Ytelse10
Hvorfor er GitHub Actions trege?Oftest: delt vCPU, kalde cacher, nettverkstilkoblet disk og køtid før jobben i det hele tatt starter.Hvor raskt starter løpere etter at en jobb står i kø?runnerhut-løpere starter om tre sekunder fra et varmt basseng.Må jeg endre arbeidsflyten min?Nei. Endre påløpsetiketten og la alt annet være som det er.Hvordan velger jeg en løperstørrelse?Start én størrelse over din nåværende løper, sjekk CPU-utnyttelsen og stopp når kurven flater ut.Hvorfor står jobbene mine i kø bak hverandre?Du har nådd en samtidighetsgrense - enten planen din, løpergruppen din eller en samtidighetsgruppe i arbeidsflyten.Hvorfor kjører Python-testene mine tregere i CI enn lokalt?pytest er seriell som standard, og den bærbare datamaskinen har raskere enkeltkjerneytelse og en varm filsystembuffer.Hvorfor er npm-installasjon treg i CI?node_modules skriver titusenvis av små filer, og nettverkstilkoblet CI-disk håndterer det dårlig.Hvorfor starter Gradle-demonen hver gang?Hver CI-jobb er en fersk maskin, så det er ingen demon å gjenbruke – og uten konfigurasjonsbufferen revurderer Gradle hele bygget.Hvorfor viser jobben min høy I/O-venting?Arbeidsbelastningen er diskbundet - vanligvis avhengighetsinstallasjon, utvinning av beholderlag eller en database i en tjenestebeholder.Hvor mange jobber kan kjøres samtidig?Det avhenger av planen din for GitHub-vert for løpere, og av din konfigurerte samtidighet for administrerte løpere.
Buffer38
Hvorfor bygger Cargo alt opp igjen?Hurtigbuffernøkkelen endres ved hver kjøring, eller målet/ blir ikke bufret i det hele tatt.Hvorfor er hurtigbuffergjenoppretting treg?GitHub struper hurtigbufferens båndbredde, så en multi-gigabyte cache kan ta minutter å gjenopprette.Hvordan skriver jeg en god hurtigbuffernøkkel?Hash nøyaktig filene som bestemmer det bufrede innholdet - vanligvis låsefilen - og ingenting annet.Hva er gjenopprettingsnøkler?Bestilte prefikser prøvd når den eksakte hurtigbuffernøkkelen mangler, så en delvis match kan fortsatt gjenopprettes.Hvorfor går cachen min glipp av hvert løp?Nøkkelen inkluderer noe som endrer hver kjøring - vanligvis github.sha eller et tidsstempel.Hvor lenge varer cachene?GitHub kaster ut cacher ubrukt i 7 dager, eller tidligere hvis depotet overstiger 10 GB.Hvordan tømmer jeg en buffer?Slett den fra depotets Actions cache-side, eller via REST API eller gh CLI.Bærer cacher på tvers av grener?En gren kan lese cacher fra seg selv og fra sin basisgren, men ikke fra urelaterte grener.Kan jeg dele en hurtigbuffer mellom arbeidsflyter?På GitHub-vertsbaserte løpere, bare innenfor samme depot og grenomfang. runnerhut cacher deles på tvers av arbeidsflyter i organisasjonen.Hva er grensen for GitHub Actions bufferstørrelse?10 GB per depot, hvoretter minst nylig brukte oppføringer kastes ut.Hvordan cacher jeg node_modules?Buffer ~/.npm tastet på package-lock.json, eller gjenopprett node_modules direkte hvis installasjonen din er deterministisk.Hvordan cacher jeg pip-avhengigheter?Buffer ~/.cache/pip tastet inn på requirements.txt, eller hurtigbufr hele virtualenv for en større gevinst.Hvordan cacher jeg Go-moduler?Cache ~/go/pkg/mod og ~/.cache/go-build tastet inn på go.sum.Hvordan cacher jeg Cargo-avhengigheter?Cache ~/.cargo/registry, ~/.cargo/git og target/ tastet inn på Cargo.lock.Hvordan cacher jeg Maven-avhengigheter?Cache ~/.m2/repository tastet inn på en hash av hver pom.xml.Hvordan cacher jeg Gradle-bygg?Buffer ~/.gradle/caches og ~/.gradle/wrapper, og aktiver bygge- og konfigurasjonscachene.Hvordan cacher jeg Bundler-edelstener?Bufferleverandør/bunt tastet inn på Gemfile.lock slik at native utvidelser kompileres én gang.Hvordan cacher jeg Composer-avhengigheter?Cache ~/.composer/cache tastet på composer.lock.Hvordan cacher jeg CocoaPods?Cache Pods/ og ~/Library/Caches/CocoaPods tastet inn på Podfile.lock.Hvordan cacher jeg Swift Package Manager-avhengigheter?Cache .build og ~/Library/Caches/org.swift.swiftpm tastet inn på Package.resolved.Hvordan cacher jeg Yarn Berry?Cache .yarn/cache og .yarn/install-state.gz tastet på yarn.lock.Hvordan cacher jeg uv- eller poesimiljøer?Cache ~/.cache/uv eller ~/.cache/pypoetry tastet inn på låsefilen, pluss .venv-katalogen.Hvordan cacher jeg Playwright-nettlesere?Cache ~/.cache/ms-playwright tastet inn på Playwright-versjonen fra låsefilen din.Hvordan cacher jeg Docker-lag?Bruk en ekstern bygger som holder cachen lokalt, eller eksporter til et register med cache-to og cache-from.Fungerer caching inne i en containerjobb?Ja, men stier inne i beholderen er forskjellige fra stier på verten, så hurtigbuffernøkler må referere til beholderstier.Fungerer cacher på tvers av arkitekturer?Nei. Kompilerte artefakter for x64 er ikke gyldige på arm64, så arkitektur må være en del av nøkkelen.Fungerer cacher på Windows-løpere?Ja, men baneskillere og store og små bokstaver er forskjellige, så nøkler og stier trenger Windows-spesifikk håndtering.Hvordan beholder jeg en Docker lagbuffer mellom pull-forespørsler?Bruk en vedvarende ekstern bygger – hurtigbufferen er ikke begrenset til en gren.Kan jeg hurtigbufre et bygget bilde i stedet for å gjenoppbygge?Ja - skyv den til et register merket med innholdshash og trekk den når inngangene er uendret.Kan jeg holde en database varm mellom jobbene?Ikke med servicecontainere, som blir ødelagt med jobben. Last inn en forhåndsmigrert skjemadump i stedet.Kan jeg beholde Xcode DerivedData mellom kjøringer?Ja. Persist ~/Library/Developer/Xcode/DerivedData — det er den største enkeltgevinsten for iOS CI.Erstatter øyeblikksbildeløpere handlinger/cache?Det kan de. Et øyeblikksbilde gjenoppretter hele maskinens tilstand, slik at installasjonstrinnet forsvinner i stedet for å bli raskere.Hva overføres i et øyeblikksbilde?Hele filsystemet på øyeblikksbildetid - installerte pakker, innebygde utvidelser, verktøykjedekataloger og varmsidebuffer.Hvordan ugyldiggjør jeg et øyeblikksbilde?Tast den inn på låsefilens hash slik at en avhengighetsendring automatisk utløser en gjenoppbygging.Hvor lenge varer øyeblikksbilder?14 dager som standard på runnerhut, deretter gjenoppbygd ved neste bruk.Kan jeg et øyeblikksbilde på en funksjonsgren?Ja, og gren-øyeblikksbilder er isolert fra hverandre.Hva er øyeblikksbildeløpere?Løpere som starter opp fra et filsystembilde tatt etter at avhengighetene dine ble installert, så installasjonen hoppes fullstendig over.Fungerer øyeblikksbilder på macOS-løpere?Ja, og de er spesielt verdifulle der fordi CocoaPods og DerivedData begge er trege å gjenoppbygge.
arm6412
Kan GitHub Actions kjøre arm64?Ja. GitHub tilbyr arm64-løpere på betalte planer, og administrerte leverandører inkludert runnerhut tilbyr dem på alle planer.Kan jeg bygge arm64-bilder på en x64-løper?Ja, med QEMU - men det er 5–40 × tregere enn å bygge naturlig.Hva endres når man går fra x64 til arm64?Innfødte moduler, Python-hjul og enhver x86-enhet trenger aarch64-støtte. De fleste vanlige avhengigheter har det nå.Kan jeg kjøre arm64- og x64-jobber i samme arbeidsflyt?Ja. Bruk en matrise med en annen løperetikett per arkitektur.Støtter arm64-løpere buildx?Ja, og på innfødt arm64-maskinvare produserer buildx arm64-bilder uten emulering.Kan jeg kjøre 32-biters ARM-bygg på arm64-løpere?Ja, via krysskompilering med en armhf-verktøykjede, eller med multilib-støtte der det er tilgjengelig.Hvordan kjører jeg arm64-integrasjonstester?Kjør hele jobben på en innfødt arm64-løper, inkludert eventuelle servicebeholdere, som må ha arm64-bilder.Hvilke arm64-løpestørrelser er tilgjengelige?runnerhut tilbyr 2 til 64 vCPU arm64-løpere på Ubuntu 22.04 og 24.04.Bruker arm64-løpere en annen arbeidskatalog?Nei. Banene samsvarer med x64-bildene, så arbeidsflyter porter uten endringer.Hvordan bygger jeg en Rust binær for flere mål?Bruk en matrise med én innfødt løper per mål, i stedet for å krysskompilere alt på én maskin.Kan GitHub Actions bygge multi-arch-bilder?Ja - enten med QEMU på én løper, eller naturlig på løpere per arkitektur og slått sammen til en manifestliste.Er QEMU eller native arm64 raskere?Native, med en faktor på 5 til 40, avhengig av hvor mye bygget kompilerer.
macOS og iOS15
Støtter GitHub Actions-løpere macOS?Ja, både GitHub-vertsbaserte og administrerte leverandører tilbyr macOS-løpere på Apple-silisium.Kan jeg bygge iOS-apper uten en Mac-løper?Nei. Xcode kjører bare på macOS, så en iOS-bygning krever en macOS-løper.Er Xcode forhåndsinstallert på macOS-løpere?Ja. runnerhut-bilder sender flere Xcode-versjoner med matchende kommandolinjeverktøy.Hvordan velger jeg en Xcode-versjon?Kjør sudo xcode-select -s /Applications/Xcode_16.4.app før byggetrinnene dine.Hvilke Xcode-versjoner er tilgjengelige?runnerhut macOS 15-bilder har Xcode 16.0, 16.2 og 16.4; macOS 14-bilder har 15.2 og 15.4.Hvilke macOS-versjoner støttes?runnerhut tilbyr macOS 14- og macOS 15-bilder på Apple-silisium.Støtter GitHub Actions Apple silisium?Ja. Både GitHub-vertsbaserte og administrerte macOS-løpere kjører nå på Apple-silisium.Hvor mye disk har macOS-løpere?runnerhut macOS-løpere gir 250 GB til 1 TB NVMe avhengig av størrelse.Hvilke simulatorkjøringer leveres på macOS-løpere?iOS 17.5 til 18.4, pluss watchOS, tvOS og visionOS kjøretider.Kan jeg bruke Docker på macOS-løpere?Bare via en Linux VM, som er treg. Kjør Docker arbeidsbelastninger på Linux-løpere i stedet.Kan jeg kjøre macOS-løpere i EU?Ja. runnerhut driver macOS-kapasitet i EU-regioner for krav til dataopphold.Kan jeg kjøre Android- og iOS-bygg i én arbeidsflyt?Ja – bruk en matrise med en macOS-løper for iOS og en Linux-løper for Android.Hvordan fremskynder jeg gjentatte Xcode-bygg?Persist DerivedData mellom kjøringer og pin Xcode-versjonen.Hvordan kjører jeg iOS-tester parallelt?Del etter testmål eller testklasse på tvers av flere simulatorer på én stor macOS-løper.Hvordan notariserer jeg en macOS-app i CI?Bruk notarytool med en App Store Connect API-nøkkel lagret som en hemmelighet.
Windows11
Kan GitHub Actions kjøre Windows-bygg?Ja. Windows Server-løpere er tilgjengelige både fra GitHub og fra administrerte leverandører.Kan jeg kjøre Windows Server 2022-bygg?Ja. runnerhut tilbyr Windows Server 2022- og 2025-bilder.Hvilke Windows-versjoner støttes?Windows Server 2022 og Windows Server 2025.Er Visual Studio forhåndsinstallert?Ja. Byggverktøy for 2022 og 2025 leveres med arbeidsbelastningene C++, .NET desktop, ASP.NET og UWP.Hvordan installerer jeg ekstra Windows SDK-komponenter?Bruk vs_installer.exe modify med --add og komponent-ID.Hvorfor starter Windows-løpere tregere?Windows starter saktere og Defender skanner alt kassen skriver.Kan jeg kjøre Docker på Windows-løpere?Ja, for Windows-beholdere. Linux-beholdere krever nestet virtualisering.Støtter Windows-løpere nestet virtualisering?På runnerhut, ja på Windows Server 2025-bilder og størrelser som eksponerer Hyper-V.Hva er den minste Windows-løperstørrelsen?4 vCPU. Mindre størrelser bruker for mye av jobben på OS-overhead til å være nyttig.Kan jeg kjøre tester parallelt på Windows?Ja. dotnet test --parallel og MSBuild -m bruker begge flere kjerner.Hvordan kjører jeg PowerShell-skript?Sett shell: pwsh på trinnet for PowerShell Core, eller shell: powershell for Windows PowerShell 5.1.
Docker17
Hvordan reduserer jeg bildetrekningstiden?Bruk en registergjennomtrekksbuffer i samme nettverk som løperen.Hvordan tilbakestiller jeg en Docker-builderbuffer?Kjør docker buildx prune på builder, eller gjenskap builder-forekomsten.Støtter eksterne byggere flerplattformsbygg?Ja. runnerhut kjører separate amd64- og arm64-byggere og slår sammen resultatene.Hvordan sender jeg en manifestliste?Bygg hver arkitektur etter sammendrag, og kombiner dem deretter med docker buildx imagetools create.Hvorfor er Docker bygget tregt?Kaldtlagsbuffer, hurtigbuffer overført over nettverket, eller arm64 bygget under emulering.Hvorfor går Docker build tom for disk?GitHub-hostede løpere har rundt 14 GB ledig, som store bilder og lagbufferen deres tømmes raskt.Hvorfor ugyldiggjør en grunnleggende bildeoppdatering alt?Hvert lag etter FROM avhenger av basisbildesammendraget, så en ny base ugyldiggjør dem alle.Hva er forskjellen mellom cache-fra og cache-to?cache-from importerer en eksisterende lagbuffer; cache-to eksporterer cachen produsert av denne versjonen.Trenger jeg buildx?For multi-plattform builds, cache mounts eller eksterne byggere, ja. For en enkel enkeltbuekonstruksjon, nei.Hva er en ekstern Docker-bygger?En vedvarende BuildKit-forekomst jobben din knyttes til, som holder lagbufferen på sin egen disk.Hvordan faktureres en ekstern byggherre?Per sekund av aktiv byggetid, separat fra løperminuttene.Kan to jobber dele én byggherre?Ja. Matriseben og separate arbeidsflyter kan kobles til den samme byggeren og dele hurtigbufferen.Hvordan bygger og skyver jeg i ett trinn?Bruk docker/build-push-action med push: true.Hvordan bruker jeg Docker Bake?Definer mål i docker-bake.hcl og kjør docker buildx bake i et trinn.Hvordan autentiserer jeg til et privat register?Bruk docker/påloggingshandling med et token, eller OIDC for skyregistre.Kan jeg kjøre Docker Compose?Ja. Compose v2 er forhåndsinstallert; bruk docker compose up -d --wait så trinnene ikke kjører oppstart.Kan jeg bruke Podman i stedet for Docker?Ja. Podman er tilgjengelig og er stort sett CLI-kompatibel med Docker.
Sikkerhet19
Er øyeblikksbildeløpere trygge for offentlige depoter?Bare hvis øyeblikksbilder er tatt fra klarerte grener og aldri fra gaffeltrekk-forespørsler.Hvordan genererer jeg en SBOM?Aktiver buildx sin sbom: true output, eller kjør syft mot det bygde bildet.Hvordan legger jeg ved bygge herkomst?Bruk handlinger/attest-build-herkomst, eller buildx sin herkomst: sann attestasjon.Hvordan overfører jeg hemmeligheter til en Docker-bygg?Bruk BuildKit byggehemmeligheter med --secret, aldri ARG eller ENV.Er GitHub Actions-løpere sikre?GitHub-vertsbaserte og anerkjente administrerte løpere er flyktige engangs-VM-er, som er den riktige isolasjonsmodellen.Lagrer løpere kildekoden min?Kun for varigheten av jobben. runnerhut ødelegger VM-en og tørker disken når jobben avsluttes.Kan løperplattformen se hemmelighetene mine?Hemmeligheter er dekryptert i løperens minne for å bli brukt, slik at enhver løperplattform teknisk sett kunne.Hvordan angir jeg GITHUB_TOKEN-tillatelser?Legg til en tillatelsesblokk på arbeidsflyt- eller jobbnivå og gi bare de nødvendige omfangene.Hvordan autentiserer jeg til AWS med OIDC?Konfigurer GitHub som en OIDC-leverandør i IAM og bruk aws-actions/configure-aws-legitimasjon med en rolle.Endrer administrerte løpere GitHub-tillatelsene mine?Nei. Jobber kjører med samme GITHUB_TOKEN og de samme tillatelsene som på GitHub-hostede løpere.Kan jeg begrense hvilke depoter som bruker løperne mine?Ja, med løpergrupper rettet mot spesifikke organisasjoner eller repositorier.Er runnerhut SOC 2 kompatibel?runnerhut opprettholder SOC 2 Type 2, med rapporten tilgjengelig under NDA.Hvor lagres byggedataene mine?I regionen du velger. Beregning, hurtigbuffer, logger og beregninger er alle festet til samme region.Kan jeg bare beholde bygg i EU?Ja. Implementeringer kun for EU fester databehandling, hurtigbuffer, logger og beregninger til EU-regioner.Kan jeg begrense utgående trafikk?Ja. Utgangspolicyer avslår som standard og tillater bare destinasjonene du viser.Hvordan overvåker jeg løperkonfigurasjonsendringer?Revisjonsloggen registrerer aktør, tidsstempel, kilde-IP og før/etter-verdier for hver konfigurasjonsendring.Hvor løper administrerte løpere fysisk?I leverandørens datasentre, eller i din egen skykonto under BYOC.Hva skjer med runner disker etter en jobb?På runnerhut blir de kryptografisk slettet og VM-en ødelagt.Holder løpere staten mellom jobbene?Ephemeral løpere gjør ikke. Vedvarende løpere som er selvvert, gjør det, noe som er en sikkerhetsrisiko på offentlige depoter.
Ta med din egen sky18
Kan løpere få tilgang til mitt private nettverk?Ja, via BYOC-løpere i din VPC eller et mesh-nettverk som Tailscale.Kan løpere løpe på min egen skykonto?Ja. BYOC distribuerer løpere til AWS-, GCP- eller Azure-kontoen din mens kontrollplanet forblir administrert.Hva lager runnerhut i min skykonto?En autoskaleringsgruppe, en cache-bøtte, en registergjennomføringsbuffer, en scoped IAM-rolle og et VPC-endepunkt.Hvilke AWS-tillatelser trenger BYOC?Tillatelser til å administrere sin egen autoskaleringsgruppe, dens hurtigbuffer og dens instansrolle – ikke noe bredere.Kan jeg bruke min egen VPC?Ja. Du oppgir VPC og subnett-ID-er og løpere er plassert der.Kan BYOC-løpere nå interne tjenester?Ja - det er hovedgrunnen til å bruke BYOC. De sitter inne i nettverket ditt med normal ruting.Trenger BYOC-løpere en NAT-gateway?De trenger utgående internett for bilde- og pakketrekk, som vanligvis betyr en NAT-gateway.Kan BYOC-løpere løpe i et privat undernett?Ja, og det burde de. Utgående tilgang går gjennom NAT- eller VPC-endepunkter.Kan jeg knytte en IAM-rolle til en BYOC-løper?Ja, via en forekomstprofil - så jobber får legitimasjon uten noen lagret hemmelighet.Fungerer BYOC med IMDSv2?Ja, og IMDSv2 håndheves som standard.Kan jeg kjøre BYOC i flere regioner?Ja. Distribuer modulen per region og merk løpere etter region.Støtter BYOC tilpassede bilder?Ja. Gi ditt eget AMI eller maskinbilde med verktøyet innbakt.Støtter BYOC Windows?Ja på AWS og Azure. GCP Windows-støtte er mer begrenset.Støtter BYOC GCP lokal SSD?Ja, på maskinfamilier som tilbyr det.Hvordan fungerer BYOC-fakturering?Du betaler skyleverandøren din for databehandling og nettverk, og runnerhut en redusert kontrollflyavgift.Hvordan merker jeg BYOC-ressurser?Still inn kostnadsfordelingskoder i Terraform-modulen; de forplanter seg til hver skapt ressurs.Hvordan sletter jeg en BYOC-stabel?Tøm løperne, og terraform ødelegge modulen.Kan jeg kontrollere utgang på BYOC-løpere?Ja, med sikkerhetsgrupper, NACL og runnerhut utgangspolicy sammen.
Arbeidsflyter30
Hvor mange jobber kan en matrise ønske seg?GitHub begrenser en enkelt matrise til 256 jobber per arbeidsflytkjøring.Hvordan gjenskaper jeg en CI-feil lokalt?Match løperbildet, deretter SSH til en live-løper hvis feilen bare vises i CI.Kan jeg SSH inn i en løper?Ja. runnerhut støtter åpning av en feilsøkingsøkt på en kjørende jobb med en autorisert SSH-nøkkel.Kan jeg blande GitHub-vertsbaserte og administrerte løpere?Ja. påkjøring er per jobb, så forskjellige jobber i én arbeidsflyt kan bruke forskjellige leverandører.Hvordan endrer jeg løperen?Rediger påløpsverdien for jobben. Ingenting annet trenger å endres.Hvordan kjører jeg en jobb bare når filene endres?Bruk baner eller baner-ignorer på utløseren, eller en endringsdeteksjonshandling for bedre kontroll.Hvordan kjører jeg en arbeidsflyt manuelt?Legg til en workflow_dispatch-utløser, eventuelt med inntastede inndata.Hvordan kjører jeg jobber etter en tidsplan?Bruk tidsplanutløseren med cron-syntaks, i UTC.Hvordan kansellerer jeg erstattede løp?Angi en samtidighetsgruppe tastet inn på dommeren med kansellering pågår: sant.Hvordan begrenser jeg en arbeidsflyt til én kjøring om gangen?Bruk et fast samtidig gruppenavn med avbrytelse pågår: usant.Hva skjer når to arbeidsflyter deler en samtidig gruppe?De serialiseres - den andre venter eller kansellerer den første avhengig av pågående kansellering.Hvordan angir jeg et tidsavbrudd for jobb?Legg til timeout-minutter til jobben. Standard er seks timer.Hvordan prøver jeg et mislykket trinn på nytt?Bruk en ny forsøkshandling, eller pakk kommandoen inn i en shell-forsøksløkke.Hvordan gjenbruker jeg en arbeidsflyt på tvers av depoter?Publiser en gjenbrukbar arbeidsflyt og kall den med workflow_call.Hvordan skriver jeg en sammensatt handling?Lag action.yml med runs.using: composite og en trinnliste.Hvordan bruker jeg matrix inkludere og ekskludere?inkludere legger til eller utvider kombinasjoner; exclude fjerner dem fra det genererte produktet.Hvordan hopper jeg over CI på en commit?Legg til [hopp over ci] i commit-meldingen.Hvordan skriver jeg et jobbsammendrag?Legg til Markdown til $GITHUB_STEP_SUMMARY.Hvordan kjører jeg en database i CI?Erklær den som en servicebeholder med helsesjekk.Hvordan publiserer jeg en pakke?Bruk OIDC pålitelig publisering der registeret støtter det, ellers et scoped token i et miljøhemmelighet.Hvordan deler jeg data mellom jobber?Last opp en artefakt i én jobb og last den ned i den neste, eller bruk jobbutdata for små verdier.Hvordan stopper jeg en treg arbeidsflytblokkering?Del nødvendige sjekker fra rådgivende og merk bare de raske, pålitelige jobbene etter behov.Hvordan kjører jeg nettlesertester uten hode?Bruk det hodeløse flagget for løperen din, eller xvfb-run for verktøy som krever en skjerm.Hvordan kjører jeg Go race detektor-tester?Løp gå test-løp. Forvent omtrent 2–10 ganger langsommere utførelse og høyere minnebruk.Hva er forskjellen mellom en jobb og et trinn?En jobb kjører på én løper og inneholder trinn; trinn kjøres sekvensielt i samme arbeidsområde.Hva er forskjellen mellom GitHub-vert og selv-vert løpere?GitHub-vert er administrert, flyktig og fakturert per minutt. Selvhostede er dine til å betjene, på maskinvaren din.Hvilke operativsystemer kan GitHub Actions kjøre?Linux, Windows og macOS, på x64 og arm64 avhengig av leverandør.Hvor lenge oppbevares gjenstander?90 dager som standard, konfigurerbar per depot eller per opplasting ned til én dag.Hvordan feilsøker jeg en mislykket jobb?Aktiver trinn-feilsøkingslogging, legg til et jobbsammendrag eller åpne en SSH-økt på løperen.Hvordan kjører jeg en jobb bare på pull-forespørsler?Bruk pull_request-utløseren, og en hvis-betingelse for finere kontroll som å hoppe over utkast.
Observerbarhet19
Hvordan ser jeg kostnad per arbeidsflyt?runnerhut-dashbordet deler forbruk etter arbeidsflyt, jobb, etikett og depot.Hvordan ser jeg kostnad per løper-etikett?Filtrer bruksdashbordet etter etikett for å se minutter og forbruk per løpertype.Hvordan oppdager jeg en underdimensjonert løper?Vedvarende CPU nesten 100 %, minnepress eller bytte aktivitet gjennom jobben.Hvordan finner jeg det tregeste trinnet i en arbeidsflyt?Sorter trinn etter varighet i løpsvisningen, eller bruk runnerhut tidslinje som viser kø, oppsett og trinntid separat.Hvordan finner jeg hvilken arbeidsflyt som ble tregere?Sammenlign p95-varighet per arbeidsflyt måned over måned i analysedashbordet.Hvordan måler jeg hurtigbuffertrefffrekvens?runnerhut-dashbordet (runnerhut) rapporterer trefffrekvens, gjenopprettingstid og størrelse per hurtigbuffernøkkel.Hvordan eksporterer jeg jobbdata?Bruk runnerhut API eller GitHub Actions REST API og skriv resultatene til CSV.Kan en AI-agent spørre CI-beregningene mine?Ja, gjennom runnerhut MCP-server, som avslører bygg, varighet, feil og kostnader som verktøy.Kan AI-agenter utløse CI-jobber?Ja, gjennom API eller ved å presse grener, som enhver annen aktør.Hvilke beregninger avslører API?Køtid, varighetspersentiler, hurtigbuffertrefffrekvens, CPU- og minneutnyttelse, og kostnad per jobb, etikett og arbeidsflyt.Hvordan ser jeg CPU og minnebruk for en jobb?runnerhut registrerer per-jobb utnyttelse automatisk og viser den på løpssiden.Kan jeg varsle om jobber uten minne?Ja. Varsling om OOM-drap eller om minneutnyttelse krysser en terskel.Hvordan lager jeg en ukentlig CI-helserapport?Planlegg en arbeidsflyt som spør etter metrics API og legger inn p95-varighet, hurtigbuffertrefffrekvens, flakfrekvens og forbruk.Hvorfor ble jobben min drept med utgangskode 137?Det er et OOM-drap - prosessen overskred tilgjengelig minne.Hvorfor gikk jobben min tom for disk?GitHub-hostede løpere har omtrent 14 GB ledig; Docker lag og node_modules tømmes så raskt.Har løpere store disker?GitHub-hostede løpere har omtrent 14 GB ledig. runnerhut-løpere gir 150 GB til 2 TB med lokalt NVMe.Begrenser løpergrupper samtidighet?Det kan de. En gruppe kan ha sitt eget samtidighetstak uavhengig av kontogrensen din.Hvilke GitHub API-hastighetsgrenser påvirker CI?GITHUB_TOKEN er begrenset per depot per time; arbeidsflyter som gjør mange API-anrop kan tømme det.Hvorfor får jobbene mine tidsavbrudd for nettverket?Vanligvis begrenser registerhastigheten, en flaskehals for NAT-gatewayen eller en utgangspolicy som i det stille slipper trafikk.