Pipeline-sablon létrehozása
A pipeline-sablonokat a munkaterület beállításaiban hozza létre. A munkaterület oldalsávjában a Pipeline-ok elem a futtatási várólista, nem a sablonok listája — nincs „sablon létrehozása” művelete.
Hogy mit jelentenek az egyes lépésfajták, törzskulcsok és konfigurációs mezők, lásd a pipeline-lépések referenciáját.
Sablon létrehozása
Szekció neve “Sablon létrehozása”- Nyissa meg a Beállítások → Munkaterület → Pipeline-sablonok helyet
(
/workspaces/<workspace-id>/settings/pipelines). - Nyomja meg az Új sablon gombot.
Nincs azonosító-párbeszédablak. A szerkesztő azonnal megnyílik egy Új
pipeline nevű, előre feltöltött vázon, automatikusan kiosztott azonosítóval
(pipeline_1, majd pipeline_2, …). A fejlécben a címre kattintva nevezheti át.
A vászon nem üres: van rajta egy Trigger belépő csomópont, egy Step címkéjű prompt-agent csomópont, és egy terminál-őrszem, amely befejezi a futtatást. Az őrszem nincs kirajzolva. A szerkesztő ezt a rejtett terminált minden elérhető nyelőhöz átkötözi, így a Step után csatolt munka is lefut.
Csomópontok hozzáadása
Szekció neve “Csomópontok hozzáadása”A Csomópontkönyvtár oldalsáv állandóan a szerkesztő bal oldalán van. Szűrje a Csomópontok keresése mezővel, és húzzon egy elemet a vászonra — a csomópont oda kerül, ahová ejti, bejövő kapcsolat nélkül.
| Palettacsomópont | Lépésfajta | Mit tesz |
|---|---|---|
| Bash script | listen | Shellszkriptet futtat {{state}} helyettesítéssel; nem indul ügynök |
| Open conversation | listen | Megnyitja a futtatás egyetlen látható terét és annak checkoutját; az ügynökcsomópontok ebbe a szobába csatlakoznak |
| Clone PR branch | listen | A gh pr view segítségével felderíti a PR fejágát, és a futtatási könyvtárba klónozza |
| Post PR comment | listen | A konszolidált megállapításokat GitHub-átnézési megjegyzésként közzéteszi a PR-en |
| Reviewer (prompt) | listen | Szakértő átnéző ügynököt oszt ki; felfüggeszti magát, amíg az ügynök be nem küldi az eredményét |
| Consolidate (join) | join | Megvár több felsőbb ágat, majd megkér egy ügynököt, hogy konszolidálja a kimeneteiket |
| Custom prompt | listen | Általános, promptvezérelt csomópont, amely a promptAgent törzsön keresztül halad |
| Post to space | listen | Üzenetet küld egy üzenetküldő térbe |
| Condition / switch (router) | router | Egy állapotérték alapján elágaztatja a folyamatot |
| If file exists (router) | router | "true" útvonalra visz, ha egy útvonal létezik a klón alatt, egyébként "false"-ra |
| Any file exists (OR router) | router | "true"-ra visz, ha bármelyik felsorolt útvonal létezik |
| All conditions (AND router) | router | Csak akkor visz "true"-ra, ha minden felsorolt útvonal létezik |
| Team dispatch | listen | Egy egész csapatot kioszt, és felfüggeszti magát, amíg az be nem fejezi |
| Approval gate | listen | Megáll egy jóváhagyási döntésre várva |
| For each (map) | forEach | Elemenként megjelenít egy promptot, majd egyszer osztja ki az ügynököt az összefűzött promptokkal |
| Call sub-pipeline | listen | Egy másik sablont futtat beágyazott lépésként |
| Clean up worktrees | listen | Eltávolítja az elavult elszigetelt worktree-ket; determinisztikus, nem indul ügynök |
A könyvtár ezeket a Folyamat és logika, PR-átnézés, Ügynökök, Üzenetküldés és Kód csoportba rendezi. Nincs Demo csoport.
Csomópontok összekötése
Szekció neve “Csomópontok összekötése”Minden munkacsomópont jobb szélén van egy kör alakú kimeneti port. Húzzon
erről a portról egy másik csomópontra az összekötésükhöz. Az indító
eseményindítók ugyanilyenek: mindegyik a saját portjával rendelkezik, így egy
Ütemezés felőli vezeték nem indul ki a Kézi futtatásból is. Nyomja meg a
Lépés hozzáadása (+) gombot egy csomópont után, hogy beszúrjon oda egy
típust. Vigye az egérmutatót egy meglévő él felezőpontjára, és nyomja meg a ×
jelet a leválasztáshoz.
A kapcsolatok abból a csomópontból is szerkeszthetők, amely fogadja őket:
- Jelölje ki az alsóbb csomópontot. A konfigurációs panelje a jobb oldalon nyílik meg.
- Görgessen a Triggers from részhez, és kattintson minden olyan felsőbb csomópont címkéjére, amelyre ennek figyelnie kell. Egy kijelölt címkére kattintva megszűnik a kapcsolat.
- Ha egy felsőbb csomópont router, a címkék alatt megjelenik egy
Útvonalkulcsok blokk, minden router-élhez egy Útvonalkulcs innen:
<node> mezővel. Adja meg azt a kulcsot, amelyre az az él tüzel —
truevagyfalsea fájllétezés-routereknél, vagy az eset neve egy kapcsolónál.
Minden eseményindító-csomópont belépési pont. Egy csomópont több felsőbb lépésre is figyelhet (fan-in), és több alsóbb lépést is táplálhat (fan-out), a gráfnak pedig körmentesnek kell maradnia — a szerkesztőben semmi sem akadályozza meg, hogy kört kössön össze, ezért ellenőrizze a munkáját.
A terminál-őrszem ki van szűrve a vászonról, így nem jelölhető ki. A szerkesztő a gráf minden változásakor minden elérhető nyelőhöz átkötözi, így az alapból létrehozott Step után csatolt munka is lefut. Egy üres gráf (munka utód nélküli eseményindító) magát az eseményindítót sorolja fel, hogy a futtatás azonnal befejeződjön.
Csomópont konfigurálása
Szekció neve “Csomópont konfigurálása”Jelöljön ki egy csomópontot a konfigurációs paneljének megnyitásához. Az, hogy mely mezők jelennek meg, a csomópont törzsétől függ.
Minden csomóponton van Címke, Bemeneti kulcsok (vesszővel elválasztott állapotkulcsok, amelyek végrehajtáskor olvasódnak), valamint a Haladó alatt Reducer, Időtúllépés (ms), Újrapróbálkozások, Folytatás, ha ez a lépés sikertelen és Kimeneti séma. A listen és join csomópontok a Típus mezőben válthatnak is a kettő között.
Open conversation
Szekció neve “Open conversation”Hozzáad egy repóhatókör-választót (a munkaterület mely repóit kell checkoutolni; üresen hagyva egyet sem), egy Tér neve mezőt és egy Beszélgetés megnyitása benne jelölőnégyzetet. Ha ez a jelölőnégyzet be van kapcsolva, egy Beszélgetés neve mező elnevezi azt az adatfolyamot, amellyel a szoba megnyílik. Az ügynökcsomópontok ebbe a szobába csatlakoznak — nem nyitnak sajátot.
Prompt agent
Szekció neve “Prompt agent”Hozzáad egy Ügynök mezőt (melyik ügynököt ossza ki), egy Prompt mezőt (a
{{key}} segítségével hivatkozhat a bemenetekre vagy a felsőbb lépések
kimeneteire) és egy Kimeneti kulcs mezőt.
Az Időtúllépés (ms) ezredmásodpercben van, nem másodpercben — a 900000
15 percet jelent. A 900 megadása 0,9 másodpercet ad a lépésnek.
Annak a beszélgetésmódnak, amely alatt egy prompt-agent csomópont fut, nincs
szerkesztői mezője az ügynökcsomóponton. Az extras['mode'] (chat, plan
vagy review) hordozza azon az Open conversation csomóponton, amely
létrehozta a szobát (alapértelmezés: review). Az ügynöklépésen beállítva
figyelmen kívül marad. A kulcsot pontosan egyezteti: minden más írásmód csendben
figyelmen kívül marad.
Bash script
Szekció neve “Bash script”Hozzáad egy Bash szkript mezőt. Nincs munkakönyvtár- vagy környezetmező, mert egyik sem állítható be:
- Egy futtatás minden bash-lépése ugyanazt a munkakönyvtárat használja:
<cc_root>/pipelines/<runId>/. - A
GITHUB_TOKENa hitelesítőadat-tárból injektálódik, így aghés agit clone https://x-access-token:$GITHUB_TOKEN@…beállítás nélkül működik. - A szkript a szó szerinti
bashvégrehajtható fájlként indul, ezért abash-nek szerepelnie kell a szerverkiszolgálóPATH-jában. Ez Windows esetén szempont.
Router
Szekció neve “Router”A router kiértékel egy feltételt, és visszaad egy útvonalkulcsot; a motor csak az ahhoz illeszkedő útvonalkulcsú alsóbb élt tüzeli, a többi ágat pedig kihagyottnak jelöli.
Egy router kijelölése lecseréli a Kimeneti kulcs mezőt a feltételszerkesztőre. Válasszon a négy módja közül:
- Fájl(ok) léteznek — bármelyik —
"true"-ra visz, ha bármelyik felsorolt útvonal létezik. - Fájlok léteznek — mind — csak akkor visz
"true"-ra, ha minden felsorolt útvonal létezik. - Összehasonlítás — egy állapotértéket hasonlít össze egy literállal.
- Kapcsoló — egy állapotkulcs értéke alapján visz tovább, alapértelmezett esettel.
Ezután állítsa be a hozzáillő útvonalkulcsokat a kimenő éleken (lásd: Csomópontok összekötése).
A logikai and / or / not csoportokat a törzs támogatja, de ebből az
űrlapból nem szerkeszthetők — kézzel írt predikátumfa kell hozzájuk az
extras.predicate alatt. A teljes predikátum- és operátorszótár a
pipeline-lépések referenciájában
található.
Nincs saját konfigurációja: megvárja az összes felsőbb lépését.
Approval gate
Szekció neve “Approval gate”A kapu elindítja a jóváhagyó ügynököt egy rejtett beszélgetésbe a kapu
promptjával, majd felfüggeszti magát. A jóváhagyó a beszélgetésben kéri ki a
döntését, és a submit_output hívással küldi be { "decision": "approved" | "rejected", "reason": "..." } formában. A döntés a kimeneti kulcs alá kerül
(alapértelmezés: approval_decision), így egy alsóbb kapcsoló-router elágazhat
rá.
Állítsa az Ügynök mezőt a jóváhagyóra, a Prompt mezőt pedig a kapu
kérdésére. A kapu a submit_output híváson keresztül oldódik fel { "decision": "approved" | "rejected", "reason": "..." } formában. A Reviewer (prompt)
csomópontok ugyanígy küldenek be.
Team dispatch
Szekció neve “Team dispatch”Hozzáad egy Csapat-ID és egy Kiosztási mód mezőt. A választó pontosan két módot kínál:
allParallel— tagonként egy feladat, felfüggeszti magát, amíg mind be nem fejeződik.manager— a vezetőt osztja ki, aki delegál.
Bármely más tárolt érték az allParallel módként viselkedik. Állítsa a
Reducer mezőt append értékre, hogy minden tag eredményét egy listába
gyűjtse a kimeneti kulcs alatt.
For each and Call sub-pipeline
Szekció neve “For each and Call sub-pipeline”A For each alapértelmezés szerint az items állapotkulcson képez le
(extras.iterableKey / extras.itemKey a csomóponton). Elemenként egyszer
jeleníti meg a promptját (alapértelmezés: {{item}}), és egyszer osztja ki
az ügynököt az így összefűzött promptokkal. Egy üres gyűjtemény azonnal
befejeződik egy üres listával. Ez nem elemenkénti párhuzamos kiosztás.
A Call sub-pipeline felfüggeszti magát, amíg a gyermekfuttatás végállapotba
nem kerül, majd a gyermek végleges állapotát a kimeneti kulcs alá fésüli
(alapértelmezés: subflow_result). Az extras.templateId értékkel mutathat rá
egy gyermekre. Egy sablon nem hívhatja meg önmagát; egy sikertelen vagy
megszakított gyermek sikertelenné teszi a szülő lépést, amely ezután az adott
lépés újrapróbálkozási és hiba esetén folytatási szabályzatát táplálja.
Bemenetek deklarálása és kézi futtatások engedélyezése
Szekció neve “Bemenetek deklarálása és kézi futtatások engedélyezése”Mindkettő a szerkesztő fejlécében a Kézi futtatás mögött érhető el.
- Nyomja meg a Kézi futtatás gombot.
- Kapcsolja be a Kézi futtatás engedélyezése lehetőséget. Ez a kapcsoló
azonnal érvényesül — létrehozza (vagy törli) azt a
manualeseményindító-sort, amelytől a sablon megjelenik a futtatási oldalon. - Állítsa be a Max. párhuzamos futtatás értékét, ha korlátot szeretne
(hagyja üresen a korlátlanhoz). A további indítások
queuedállapotban várnak, amíg fel nem szabadul egy hely. - Nyomja meg a Bemenet hozzáadása gombot minden űrlapmezőhöz, amelyet egy kézi futtatásnak be kell gyűjtenie:
| Mező | Leírás |
|---|---|
| Kulcs | Állapotkulcs, amely alatt az érték tárolódik; a {{key}} formában hivatkozhat rá |
| Címke | Megjelenő címke (alapértelmezés a kulcs) |
| Típus | Szöveg, Többsoros szöveg, Szám, Kapcsoló, Választó, Tároló |
| Opciók | Vesszővel elválasztott választási lehetőségek, csak Választó típusnál |
| Alapértelmezett érték | Előre kitöltött érték |
| Helyőrző | A mezőben megjelenő tippszöveg, ha üres |
| Súgószöveg | A mező alatti segédszöveg |
| Kötelező | Hogy a futtatási űrlap megakadjon-e üres értéknél |
Egy Tároló bemenet választót jelenít meg a munkaterület repói fölött, és a
futtatás hasznos terhébe írja a repo_id, repo_local_path, repo_full_name,
valamint — ha a repónak van GitHub-távolija — a repo_owner és a repo_name
értékét.
- Nyomja meg a Mentés gombot a párbeszédablakban. A bemeneti módosítások bekerülnek a vázlatba; a sablon mentésekor válnak véglegessé.
Mentés és engedélyezés
Szekció neve “Mentés és engedélyezés”- Nyomja meg a Mentés gombot a szerkesztő fejlécében. Addig a fejléc a „Mentetlen módosítások” jelzést mutatja.
- Térjen vissza a Beállítások → Munkaterület → Pipeline-sablonok helyre, és ellenőrizze, hogy a sablon sorában a kapcsoló be van kapcsolva. A motor elutasítja egy letiltott sablon indítását, és egy letiltott sablon soha nem jelenik meg a futtatási oldalon.
- Az automatikus indításhoz húzzon egy eseményindítót a csomópontkönyvtárból a vászonra — lásd: Pipeline-eseményindítók beállítása.
Kapcsolódó útmutatók
Szekció neve “Kapcsolódó útmutatók”- Pipeline kézi futtatása
- Pipeline-eseményindítók beállítása
- Pipeline-futtatások figyelése
- Pipeline-lépések referenciája