Kør job på tværs af netværk fra én brugerflade

Brug projektrunnere til at nå separate netværk, tilføje eksekveringskapacitet og give job de nødvendige værktøjer. Gem opgavehistorik og resultater i Semaphore.

Én eksekveringsvært passer ikke til alle job

Job har brug for forskellig netværksadgang, værktøjer og kapacitet. At køre dem alle på applikationsserveren betyder fælles begrænsninger.

Giv hvert job det nødvendige miljø

Vælg, hvor hvert job kører, forbered værktøjerne, og tilføj kapacitet uafhængigt af Semaphore-serveren.

Nå målsystemernePlacer runnere tæt på inventaret
Brug de værktøjer, jobbet kræverForbered eksekveringsmiljøet
Tilføj eksekveringskapacitetSkaler runnere, når arbejdsbelastningen vokser

Opsæt runnere, og diriger job til dem

Vælg, hvordan hvert job udføres

En runner bestemmer, hvor jobbet kører. Dens eksekutor bestemmer, om jobbet bruger værtsmiljøet eller starter i en container.

Lokal

Kør direkte på runnerværten med de værktøjer og afhængigheder, der er installeret dér.

Docker

Kør i Pro job i containere, og vælg et eksekutorimage pr. opgaveskabelon.

Kubernetes

Kør i Enterprise job i Kubernetes-pods med det image og de afhængigheder, de kræver.

Byg den eksekveringsopsætning, jobbene kræver

Vælg runneren i skabelonen

Diriger et forberedt job efter tag, og vælg dets eksekutorimage.

Opgaveskabeloner

Hold også kontrolplanet tilgængeligt

Skaler opgaveeksekvering og applikationstilgængelighed som separate dele af installationen.

Høj tilgængelighed

Tilpas eksekvering til infrastrukturen

Placer eksekvering tæt på inventaret

Kør automatisering i den region eller det netværk, hvor målene findes. En runner kan give adgang til et privat subnet, mindske afstanden til administrerede systemer eller give ét team dedikeret eksekveringskapacitet. Netværksplacering, runnertags og eksekutoren løser hver sin del af opsætningen.

Lad runneren starte forbindelsen

En runner forbinder til og poller Semaphore-serveren. Serveren behøver ikke at initiere en indgående forbindelse til den runner. Det er nyttigt for et site bag NAT eller i et privat subnet, forudsat at runneren kan nå Semaphore samt de mål og kilder, som dens opgaver kræver.

Vælg arbejdets omfang og routing

Globale runnere er tilgængelige på tværs af projekter, mens projektrunnere tilhører ét projekt. Understøttede tags forbinder skabelonkrav med runnerens muligheder eller placering. Standardrunnerindstillinger dækker opgaver uden tagkrav. Hvis ingen egnet runner er tilgængelig, kan opgaven vente frem for ubemærket at køre et andet sted.

Adskil placering fra eksekveringsgrænse

Lokal eksekvering kører i runnerværtens proceskontekst og bruger dens rettigheder. Understøttede Docker- og Kubernetes-eksekutorer indfører en container- eller podgrænse med egne konfigurations- og editionskrav. Deres mounts, netværk, privilegier og images bestemmer den faktiske grænse; ordet runner er ikke i sig selv en isolationsgaranti.

Udvid eksekveringskapaciteten uafhængigt

Flere runnere kan tilføje kapacitet eller netværksadgang uden at køre alle opgaver på webapplikationens vært. Indstillinger for parallelle opgaver og polling påvirker driften. Avancerede engangsmønstre kan kombinere registrering, tildelingshooks og en runner, som afslutter efter en opgave, men kræver automatisering af installationen omkring denne livscyklus.

Kør automatisering i et frakoblet netværk

Brug en Enterprise-offlinelicens, når installationen skal fungere i et lukket netværk. Hold Semaphore og runnere i miljøet, og lever nødvendige Git-repositories, eksekutorimages og værktøjsafhængigheder uden offentlig netværksadgang.

Vælg eksekveringsmiljøet bevidst

Lokal eksekvering bruger runnerværtens procesrettigheder. Brug Docker- eller Kubernetes-eksekutorer, når job kræver deres egen container eller pod med images, mounts og netværksindstillinger tilpasset opgaven.

Hold legitimationsoplysninger tilgængelige for jobbet

Opgaver kræver de legitimationsoplysninger og den konfiguration, skabelonen refererer til. Miljø- og filkilder i nøglelageret opløses på Semaphore-serveren, før værdien bruges til eksekvering.

FAQ

Hvad er forskellen på globale runnere og projektrunnere?

Globale runnere registreres til brug på tværs af instansen, mens projektrunnere tilhører et bestemt projekt. Global distribueret eksekvering er tilgængelig i alle planer; projektomfang og relaterede routingmuligheder indgår i Pro og Enterprise som vist i priserne. Vælg omfang efter driftsansvar og miljøadgang. En projektspecifik runner kan give bevidst placering, men runtimekonfigurationen bestemmer stadig, hvad en eksekverende proces kan tilgå.

Skal Semaphore-serveren kunne oprette en indgående forbindelse til min runner?

Runneren starter kommunikationen ved at forbinde til Semaphore og forespørge efter arbejde. Det muliggør placering bag NAT eller i privat netværk uden en serverinitieret indgående forbindelse til runneren. Runneren skal stadig nå Semaphore-endpointet og opgavernes repositories, pakkekilder, eksterne tjenester og mål. Kontroller forbindelserne enkeltvis; udgående polling fjerner ikke andre netværkskrav.

Hvordan når en opgave en runner med det rette netværk eller værktøj?

Brug understøttede runnertags, skabelonkrav og standardrunnerindstillinger til at matche arbejde med et passende eksekveringsmiljø. Navngiv tags efter meningsfuld funktion eller placering, og hold tilgængelighed og kapacitet synlig. Hvis ingen egnet runner er klar, kan opgaven vente. Test ruten med en ufarlig operation, og bekræft den udførende runner i opgavedetaljerne før produktionsændringer.

Isolerer kørsel på en ekstern runner hver opgave?

Ikke i sig selv. En lokal eksekutor kører i runnerværtens proceskontekst med den adgang, miljøet giver. Docker eller Kubernetes indfører en anden grænse, men mounts, privilegier, netværk og imageindhold er stadig vigtige. Vælg placering og eksekveringstilstand som separate beslutninger. Forbered afhængigheder og gennemgå værtsadgang frem for at betragte ordene runner eller container som en fuldstændig sikkerhedsgaranti.

Kan forskellige job bruge forskellige versioner af værktøjskæden?

Forbered den runtime, hvert job kræver på sin valgte eksekveringsvej. Understøttede eksekutorimageindstillinger kan holde et bestemt sæt Ansible-, Terraform-, Python- eller andre afhængigheder tydeligt uden at ændre alle job på en fælles vært. Kontroller installeret version og edition for de relevante eksekutormuligheder. Test derefter repositoryadgang, pakker og målforbindelser i det faktiske miljø, ikke kun fra en administrators interaktive session.

Gør flere runnere selve Semaphore højt tilgængelig?

Tilføjelse af runnere udvider eller flytter opgaveeksekveringen; det skaber ikke et kontrolplan for applikationen med høj tilgængelighed. Applikations-HA bruger flere koordinerede Semaphore-noder med den dokumenterede fælles database, Redis og belastningsfordeling. Mulighederne kan supplere hinanden, men løser forskellige problemer. Afgør, om flaskehalsen er eksekveringskapacitet, netværksadgang eller adgang til brugerfladen og API'et, før du vælger, hvilken del af installationen der skal skaleres.

Hvad sker der, når ingen runner med det krævede tag er online?

Opgaven venter, indtil en tilgængelig runner matcher skabelonens routingkrav. Kontroller runnertag, aktiveringsflag og seneste forbindelsesstatus og derefter eksekveringskapaciteten. Et tag er en udvælgelsesregel, så en runner uden tag eller med andet tag tager ikke automatisk jobbet.

Kan jeg vælge et Docker-image til en enkelt opgaveskabelon?

Ja. En skabelon kan tilsidesætte standardjobimaget, når runneren bruger Docker-eksekutoren i Pro eller Kubernetes-eksekutoren i Enterprise. Det lader job bruge den værktøjskæde, automatiseringen kræver. Forbered imaget med nødvendige applikationer og afhængigheder; feltet ændrer ikke lokal eksekutoradfærd. Se skabelonens eksekveringsindstillinger.