Δημιουργία προτύπου pipeline
Τα πρότυπα pipeline συντάσσονται στις ρυθμίσεις του χώρου εργασίας. Η καταχώριση Pipelines στην πλαϊνή στήλη του χώρου εργασίας είναι η ουρά εκτελέσεων, όχι η λίστα προτύπων — δεν έχει ενέργεια «δημιουργία προτύπου».
Για το τι σημαίνει κάθε είδος βήματος, κλειδί body και πεδίο διαμόρφωσης, δείτε την αναφορά βημάτων pipeline.
Δημιουργία προτύπου
Ενότητα με τίτλο «Δημιουργία προτύπου»- Μεταβείτε στις Ρυθμίσεις → Χώρος εργασίας → Πρότυπα pipeline
(
/workspaces/<workspace-id>/settings/pipelines). - Πατήστε Νέο πρότυπο.
Δεν υπάρχει παράθυρο διαλόγου για το id. Ο επεξεργαστής ανοίγει αμέσως σε έναν
προπαρασκευασμένο σκελετό με όνομα Νέο pipeline, με αυτόματα εκχωρημένο id
(pipeline_1, μετά pipeline_2, …). Κάντε κλικ στον τίτλο στην κεφαλίδα για να
τον μετονομάσετε.
Ο καμβάς δεν είναι κενός: ένας κόμβος εισόδου Trigger, ένας κόμβος πράκτορα προτροπής με ετικέτα Step και ένας τερματικός αισθητήρας που τερματίζει την εκτέλεση. Ο αισθητήρας δεν σχεδιάζεται. Ο επεξεργαστής επανασυνδέει αυτό το κρυφό τερματικό σε κάθε προσβάσιμη κατάληξη, ώστε η εργασία που συνδέετε μετά το Step να εκτελείται κανονικά.
Προσθήκη κόμβων
Ενότητα με τίτλο «Προσθήκη κόμβων»Η πλαϊνή στήλη Βιβλιοθήκη κόμβων βρίσκεται μόνιμα στα αριστερά του επεξεργαστή. Φιλτράρετέ την με το πλαίσιο Αναζήτηση κόμβων και σύρετε μια καταχώριση στον καμβά — ο κόμβος προσγειώνεται εκεί που τον αφήνετε, χωρίς εισερχόμενη σύνδεση.
| Κόμβος παλέτας | Είδος βήματος | Τι κάνει |
|---|---|---|
| Bash script | listen | Εκτελεί ένα σενάριο κελύφους με αντικατάσταση {{state}}· δεν αποστέλλεται πράκτορας |
| Open conversation | listen | Ανοίγει τον έναν ορατό χώρο της εκτέλεσης και το checkout του· οι κόμβοι πρακτόρων συμμετέχουν σε αυτόν τον χώρο |
| Clone PR branch | listen | Εντοπίζει τον head branch του PR μέσω gh pr view και τον κλωνοποιεί στον κατάλογο εκτέλεσης |
| Post PR comment | listen | Δημοσιεύει τα ενοποιημένα ευρήματα στο PR ως σχόλιο ελέγχου GitHub |
| Reviewer (prompt) | listen | Αποστέλλει έναν εξειδικευμένο πράκτορα ελέγχου· αναστέλλεται μέχρι ο πράκτορας να υποβάλει το αποτέλεσμά του |
| Consolidate (join) | join | Περιμένει πολλούς ανάντη κλάδους και μετά ζητά από έναν πράκτορα να ενοποιήσει τις εξόδους τους |
| Custom prompt | listen | Γενικός κόμβος καθοδηγούμενος από προτροπή, που δρομολογείται μέσω του body promptAgent |
| Post to space | listen | Στέλνει μήνυμα σε έναν χώρο μηνυμάτων |
| Condition / switch (router) | router | Διακλαδώνει τη ροή με βάση μια τιμή κατάστασης |
| If file exists (router) | router | Δρομολογεί "true" όταν υπάρχει μια διαδρομή κάτω από το κλωνάρι, αλλιώς "false" |
| Any file exists (OR router) | router | Δρομολογεί "true" όταν υπάρχει οποιαδήποτε από τις καταγεγραμμένες διαδρομές |
| All conditions (AND router) | router | Δρομολογεί "true" μόνο όταν υπάρχουν όλες οι καταγεγραμμένες διαδρομές |
| Team dispatch | listen | Αποστέλλει ολόκληρη ομάδα και αναστέλλεται μέχρι να ολοκληρωθεί |
| Approval gate | listen | Παύει για μια απόφαση έγκρισης |
| For each (map) | forEach | Αποδίδει μια προτροπή ανά στοιχείο και μετά αποστέλλει τον πράκτορα μία φορά με αυτές τις προτροπές ενωμένες |
| Call sub-pipeline | listen | Εκτελεί άλλο πρότυπο ως ένθετο βήμα |
| Clean up worktrees | listen | Αφαιρεί παρωχημένα απομονωμένα worktrees· ντετερμινιστικό, δεν αποστέλλεται πράκτορας |
Η βιβλιοθήκη τα ομαδοποιεί στις κατηγορίες Ροή και λογική, Ανασκόπηση PR, Πράκτορες, Μηνύματα και Κώδικας. Δεν υπάρχει κατηγορία Demo.
Σύνδεση κόμβων μεταξύ τους
Ενότητα με τίτλο «Σύνδεση κόμβων μεταξύ τους»Κάθε κόμβος εργασίας έχει μια κυκλική θύρα εξόδου στη δεξιά του πλευρά. Σύρετε
από αυτή τη θύρα σε άλλον κόμβο για να τους συνδέσετε. Τα εναύσματα έναρξης
λειτουργούν το ίδιο: το καθένα έχει τη δική του θύρα, ώστε ένα καλώδιο από το
Χρονοδιάγραμμα να μην ξεκινά και από τη Χειροκίνητη εκτέλεση. Πατήστε
Προσθήκη βήματος (+) ακριβώς μετά από έναν κόμβο για να εισαγάγετε έναν τύπο
μετά από αυτόν. Τοποθετήστε τον δείκτη στο μέσο μιας υπάρχουσας ακμής και πατήστε
× για να την αποσυνδέσετε.
Οι συνδέσεις επεξεργάζονται και από τον κόμβο που τις δέχεται:
- Επιλέξτε τον κατάντη κόμβο. Το πλαίσιο διαμόρφωσής του ανοίγει στα δεξιά.
- Μετακινηθείτε στο Εναύσματα από και πατήστε το τσιπ για κάθε ανάντη κόμβο στον οποίο θέλετε να ακούει αυτός. Το πάτημα σε επιλεγμένο τσιπ αφαιρεί τη σύνδεση.
- Αν ένας ανάντη κόμβος είναι δρομολογητής, κάτω από τα τσιπ εμφανίζεται ένα
τμήμα Κλειδιά δρομολόγησης με ένα πεδίο Κλειδί δρομολόγησης από
<node> ανά ακμή δρομολογητή. Εισαγάγετε το κλειδί στο οποίο
πυροδοτείται αυτή η ακμή —
trueήfalseγια τους δρομολογητές ύπαρξης αρχείου, ή το όνομα της περίπτωσης για έναν διακόπτη.
Κάθε κόμβος εναύσματος είναι σημείο εισόδου. Ένας κόμβος μπορεί να ακούει σε πολλούς ανάντη (fan-in) και να τροφοδοτεί πολλούς κατάντη (fan-out) και το γράφημα πρέπει να παραμένει άκυκλο — τίποτα στον επεξεργαστή δεν σας εμποδίζει να συνδέσετε κύκλο, οπότε ελέγξτε τη δουλειά σας.
Ο τερματικός αισθητήρας φιλτράρεται έξω από τον καμβά, οπότε δεν μπορεί να επιλεγεί. Ο επεξεργαστής τον επανασυνδέει σε κάθε προσβάσιμη κατάληξη κάθε φορά που αλλάζει το γράφημα, ώστε η εργασία που συνδέετε μετά το προπαρασκευασμένο Step να εκτελείται κανονικά. Ένα κενό γράφημα (έναυσμα χωρίς διαδόχους εργασίας) καταγράφει το ίδιο το έναυσμα, ώστε μια εκτέλεση να ολοκληρώνεται αμέσως.
Διαμόρφωση κόμβου
Ενότητα με τίτλο «Διαμόρφωση κόμβου»Επιλέξτε έναν κόμβο για να ανοίξει το πλαίσιο διαμόρφωσής του. Ποια πεδία εμφανίζονται εξαρτάται από το body του κόμβου.
Κάθε κόμβος έχει Ετικέτα, Κλειδιά εισόδου (κλειδιά κατάστασης χωρισμένα με κόμμα, που διαβάζονται κατά την εκτέλεση) και, κάτω από το Για προχωρημένους, τα Reducer, Χρονικό όριο (ms), Προσπάθειες επανάληψης, Συνέχεια σε αποτυχία και Σχήμα εξόδου. Οι κόμβοι listen και join μπορούν επίσης να αλλάξουν το Είδος τους μεταξύ των δύο.
Open conversation
Ενότητα με τίτλο «Open conversation»Προσθέτει έναν επιλογέα εύρους αποθετηρίων (ποια αποθετήρια του χώρου εργασίας θα γίνουν checkout· κενό σημαίνει κανένα), ένα Όνομα χώρου και ένα πλαίσιο επιλογής Δημιουργία συνομιλίας. Όταν το πλαίσιο είναι επιλεγμένο, ένα πεδίο Τίτλος συνομιλίας ονομάζει τη ροή με την οποία ανοίγει ο χώρος. Οι κόμβοι πρακτόρων συμμετέχουν σε αυτόν τον χώρο — δεν ανοίγουν δικό τους.
Prompt agent
Ενότητα με τίτλο «Prompt agent»Προσθέτει το Πράκτορας (ποιον πράκτορα θα αποστείλει), την Προτροπή
(χρησιμοποιήστε {{key}} για να αναφερθείτε σε εισόδους ή εξόδους ανάντη κόμβων)
και το Κλειδί εξόδου.
Το Χρονικό όριο (ms) είναι σε χιλιοστά του δευτερολέπτου, όχι σε
δευτερόλεπτα — το 900000 είναι 15 λεπτά. Η εισαγωγή 900 δίνει στο βήμα 0,9
δευτερόλεπτα.
Η λειτουργία συνομιλίας υπό την οποία εκτελείται ένας κόμβος πράκτορα προτροπής
δεν έχει πεδίο στον επεξεργαστή για τον κόμβο πράκτορα. Μεταφέρεται στο
extras['mode'] (chat, plan ή review) στον κόμβο Open conversation που
δημιούργησε τον χώρο (προεπιλογή review). Ο ορισμός της σε βήμα πράκτορα
αγνοείται. Το κλειδί αντιστοιχίζεται ακριβώς: κάθε άλλη γραφή αγνοείται σιωπηλά.
Bash script
Ενότητα με τίτλο «Bash script»Προσθέτει το Σενάριο. Δεν υπάρχουν πεδία καταλόγου εργασίας ή περιβάλλοντος, γιατί κανένα από τα δύο δεν είναι παραμετροποιήσιμο:
- Κάθε βήμα bash σε μια εκτέλεση μοιράζεται το cwd
<cc_root>/pipelines/<runId>/. - Το
GITHUB_TOKENεγχέεται από την αποθήκη διαπιστευτηρίων, ώστε ταghκαιgit clone https://x-access-token:$GITHUB_TOKEN@…να λειτουργούν χωρίς ρύθμιση. - Το σενάριο εκκινείται ως το κυριολεκτικό εκτελέσιμο
bash, οπότε τοbashπρέπει να βρίσκεται στοPATHτου κεντρικού υπολογιστή του διακομιστή. Αυτό είναι ένα ζήτημα στα Windows.
Ένας δρομολογητής αξιολογεί μια συνθήκη και επιστρέφει ένα κλειδί δρομολόγησης· η μηχανή πυροδοτεί μόνο την κατάντη ακμή της οποίας το κλειδί δρομολόγησης ταιριάζει και σημειώνει τους άλλους κλάδους ως παραλειφθέντες.
Η επιλογή ενός δρομολογητή αντικαθιστά το πεδίο Κλειδί εξόδου με τον επεξεργαστή συνθηκών. Διαλέξτε μία από τις τέσσερις λειτουργίες του:
- Υπάρχει αρχείο(-α) — οποιοδήποτε — δρομολογεί
"true"όταν υπάρχει οποιαδήποτε καταγεγραμμένη διαδρομή. - Υπάρχουν αρχεία — όλα — δρομολογεί
"true"μόνο όταν υπάρχουν όλες οι καταγεγραμμένες διαδρομές. - Σύγκριση — συγκρίνει μια τιμή κατάστασης με ένα κυριολεκτικό.
- Διακόπτης — δρομολογεί με βάση την τιμή ενός κλειδιού κατάστασης, με μια προεπιλεγμένη περίπτωση.
Έπειτα ορίστε τα αντίστοιχα κλειδιά δρομολόγησης στις εξερχόμενες ακμές (δείτε Σύνδεση κόμβων μεταξύ τους).
Οι ομάδες boolean and / or / not υποστηρίζονται από το body αλλά δεν μπορούν
να συνταχθούν από αυτή τη φόρμα — χρειάζονται ένα χειροποίητο δέντρο κατηγορημάτων
στο extras.predicate. Το πλήρες λεξιλόγιο κατηγορημάτων και τελεστών βρίσκεται
στην αναφορά βημάτων pipeline.
Δεν έχει δική του διαμόρφωση: περιμένει όλα τα ανάντη βήματά του.
Approval gate
Ενότητα με τίτλο «Approval gate»Η πύλη αποστέλλει τον πράκτορα έγκρισης σε μια κρυφή συνομιλία με την προτροπή της
πύλης και αναστέλλεται. Ο εγκρίνων ζητά την απόφασή σας στη συνομιλία και την
υποβάλλει με το submit_output ως { "decision": "approved" | "rejected", "reason": "..." }. Η απόφαση καταλήγει στο κλειδί εξόδου (προεπιλογή
approval_decision), ώστε ένας κατάντη δρομολογητής διακόπτη να μπορεί να
διακλαδωθεί με βάση αυτή.
Ορίστε το Πράκτορας στον εγκρίνοντα και την Προτροπή στην ερώτηση της
πύλης. Η πύλη επιλύεται μέσω submit_output ως { "decision": "approved" | "rejected", "reason": "..." }. Οι κόμβοι Reviewer (prompt) υποβάλλουν με τον
ίδιο τρόπο.
Team dispatch
Ενότητα με τίτλο «Team dispatch»Προσθέτει το ID ομάδας και τη Λειτουργία αποστολής. Ο επιλογέας προσφέρει ακριβώς δύο λειτουργίες:
allParallel— μία εργασία ανά μέλος, αναστέλλεται μέχρι να ολοκληρωθούν όλα.manager— αποστέλλει τον ηγέτη, ο οποίος αναθέτει.
Οποιαδήποτε άλλη αποθηκευμένη τιμή συμπεριφέρεται ως allParallel. Ορίστε το
Reducer σε append για να συλλέξετε το αποτέλεσμα κάθε μέλους σε μια λίστα
κάτω από το κλειδί εξόδου.
For each and Call sub-pipeline
Ενότητα με τίτλο «For each and Call sub-pipeline»Το For each αντιστοιχίζει προεπιλεγμένα πάνω στο κλειδί κατάστασης items
(extras.iterableKey / extras.itemKey στον κόμβο). Αποδίδει την προτροπή του μία
φορά ανά στοιχείο ({{item}} προεπιλεγμένα) και αποστέλλει τον πράκτορα μία
φορά με αυτές τις προτροπές συνενωμένες. Μια κενή συλλογή ολοκληρώνεται αμέσως με
κενή λίστα. Δεν είναι μία παράλληλη αποστολή ανά στοιχείο.
Το Call sub-pipeline αναστέλλεται μέχρι η θυγατρική εκτέλεση να φτάσει σε
τερματική κατάσταση και μετά συγχωνεύει την τελική κατάσταση του παιδιού κάτω από
το κλειδί εξόδου (προεπιλογή subflow_result). Στοχεύστε σε ένα παιδί με το
extras.templateId. Ένα πρότυπο δεν μπορεί να καλέσει τον εαυτό του· ένα
αποτυχημένο ή ακυρωμένο παιδί αποτυγχάνει το γονικό βήμα, το οποίο μετά
τροφοδοτεί την πολιτική επανάληψης και συνέχειας-σε-αποτυχία αυτού του βήματος.
Δήλωση εισόδων και χειροκίνητες εκτελέσεις
Ενότητα με τίτλο «Δήλωση εισόδων και χειροκίνητες εκτελέσεις»Και τα δύο βρίσκονται πίσω από το Χειροκίνητη εκτέλεση στην κεφαλίδα του επεξεργαστή.
- Πατήστε Χειροκίνητη εκτέλεση.
- Ενεργοποιήστε το Να επιτρέπεται χειροκίνητη εκτέλεση. Αυτός ο διακόπτης
αποθηκεύεται αμέσως — δημιουργεί (ή διαγράφει) τη γραμμή εναύσματος
manualπου κάνει το πρότυπο να εμφανίζεται στον εκκινητή εκτελέσεων. - Ορίστε τις Μέγιστες παράλληλες εκτελέσεις αν θέλετε όριο (αφήστε κενό για
απεριόριστο). Οι επιπλέον εκκινήσεις περιμένουν σε κατάσταση
queuedμέχρι να ελευθερωθεί θέση. - Πατήστε Προσθήκη εισόδου για κάθε πεδίο φόρμας που πρέπει να συλλέγει μια χειροκίνητη εκτέλεση:
| Πεδίο | Περιγραφή |
|---|---|
| Κλειδί | Κλειδί κατάστασης κάτω από το οποίο αποθηκεύεται η τιμή· ανατρέξτε σε αυτό ως {{key}} |
| Ετικέτα | Ετικέτα εμφάνισης (προεπιλογή είναι το κλειδί) |
| Τύπος | Κείμενο, Κείμενο πολλών γραμμών, Αριθμός, Διακόπτης, Επιλογή, Αποθετήριο |
| Επιλογές | Επιλογές χωρισμένες με κόμμα, μόνο για την Επιλογή |
| Προεπιλεγμένη τιμή | Προσυμπληρωμένη τιμή |
| Υπόδειξη | Κείμενο υπόδειξης μέσα στο κενό πεδίο |
| Κείμενο βοήθειας | Κείμενο βοήθειας κάτω από το πεδίο |
| Υποχρεωτικό | Αν η φόρμα εκτέλεσης μπλοκάρει σε κενή τιμή |
Μια είσοδος Αποθετήριο αποδίδει έναν επιλογέα πάνω από τα αποθετήρια του
χώρου εργασίας και συμπληρώνει τα repo_id, repo_local_path, repo_full_name
και — όταν το αποθετήριο έχει απομακρυσμένο GitHub — τα repo_owner και
repo_name στο ωφέλιμο φορτίο της εκτέλεσης.
- Πατήστε Αποθήκευση στο παράθυρο διαλόγου. Οι αλλαγές στις εισόδους ενσωματώνονται στο προσχέδιο· παραμένουν όταν αποθηκεύσετε το πρότυπο.
Αποθήκευση και ενεργοποίηση
Ενότητα με τίτλο «Αποθήκευση και ενεργοποίηση»- Πατήστε Αποθήκευση στην κεφαλίδα του επεξεργαστή. Η κεφαλίδα εμφανίζει «Μη αποθηκευμένες αλλαγές» μέχρι να το κάνετε.
- Επιστρέψτε στις Ρυθμίσεις → Χώρος εργασίας → Πρότυπα pipeline και ελέγξτε ότι ο διακόπτης της γραμμής του προτύπου είναι ενεργός. Η μηχανή αρνείται να ξεκινήσει ένα απενεργοποιημένο πρότυπο και ένα απενεργοποιημένο πρότυπο δεν εμφανίζεται ποτέ στον εκκινητή εκτελέσεων.
- Για να ξεκινά αυτόματα, σύρετε ένα έναυσμα από τη βιβλιοθήκη κόμβων στον καμβά — δείτε Ρύθμιση ενεργοποιητών pipeline.
Σχετικοί οδηγοί
Ενότητα με τίτλο «Σχετικοί οδηγοί»- Χειροκίνητη εκτέλεση pipeline
- Ρύθμιση ενεργοποιητών pipeline
- Παρακολούθηση εκτελέσεων pipeline
- Αναφορά βημάτων pipeline