Lokal
Kør direkte på runnerværten med de værktøjer og afhængigheder, der er installeret dér.
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.
Job har brug for forskellig netværksadgang, værktøjer og kapacitet. At køre dem alle på applikationsserveren betyder fælles begrænsninger.
Vælg, hvor hvert job kører, forbered værktøjerne, og tilføj kapacitet uafhængigt af Semaphore-serveren.
Opret en projektrunner, giv den et navn, og aktiver den. Tags kan tilføjes her eller opdateres senere.
Installer Semaphore på eksekveringsmaskinen, og start den i runnertilstand med den genererede konfiguration. Bekræft, at runneren vises som Online.
Tag runnere efter placering, miljø eller arbejdsbelastning. En runner kan have flere tags.
Angiv runnertagget i opgaveskabelonen til en matchende værdi. Nye opgaver venter på en online-runner med det tag.
En runner bestemmer, hvor jobbet kører. Dens eksekutor bestemmer, om jobbet bruger værtsmiljøet eller starter i en container.
Kør direkte på runnerværten med de værktøjer og afhængigheder, der er installeret dér.
Kør i Pro job i containere, og vælg et eksekutorimage pr. opgaveskabelon.
Kør i Enterprise job i Kubernetes-pods med det image og de afhængigheder, de kræver.
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.
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.
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.
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.
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.
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.
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.
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.
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å.
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.
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.
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.
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.
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.
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.
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.