ติดตามรันไปป์ไลน์
หน้านี้ครอบคลุมทุกอย่างหลังจากรันเริ่มขึ้นแล้ว: การหามันให้เจอ การอ่านว่าขั้นตอน แต่ละตัวทำอะไรไป และการทำให้รันที่ล้มเหลวเดินหน้าต่อได้อีกครั้ง หากต้องการเริ่มรัน ดู รันไปป์ไลน์ด้วยตนเอง
หารันให้เจอ
หัวข้อที่มีชื่อว่า “หารันให้เจอ”- คลิก ไปป์ไลน์ ในแถบข้างของเวิร์กสเปซ หน้าจอนี้คือคิวรันของเวิร์กสเปซ — ทุกรัน เรียงจากใหม่ไปเก่า
- ใช้แถบด้านซ้ายในการกรอง มีตัวกรองสามตัวพอดี แต่ละตัวมีตัวเลขนับแบบสด: ทั้งหมด, กำลังรัน, ล้มเหลว
- เดินดูตารางด้วย ↑/↓ (หรือ j/k) แล้วกด Enter เพื่อเปิดรันที่โฟกัสอยู่ การคลิกแถวก็ทำแบบเดียวกัน
แต่ละแถวแสดงสัญลักษณ์ว่ารันเริ่มขึ้นอย่างไร (สัญลักษณ์เล่นสำหรับการรันด้วยตนเอง
สัญลักษณ์ไฟล์สำหรับการเฝ้าดูกราฟโค้ด และสัญลักษณ์ทริกเกอร์อัตโนมัติในกรณีอื่น)
ทูลทิปจะบอกชื่อทริกเกอร์ — ด้วยตนเอง, เผยแพร่ PR, ไฟล์เปลี่ยน และอื่น ๆ —
และสำหรับรันจากการเฝ้าดู จะบอกว่าไฟล์ใดเปลี่ยนไปบ้าง จากนั้นจึงเป็นชื่อไปป์ไลน์
ป้ายสถานะ ระยะเวลาทำงานจริง (หรือตำแหน่งในคิวสำหรับรันที่อยู่ในสถานะ queued)
และการลองครั้งนี้เริ่มไปนานเท่าใด ระยะเวลาทำงานจริงไม่รวมช่วงว่างจากการหยุดแล้ว
เริ่มใหม่ จึงไม่ใช่ช่วงเวลาตามนาฬิกาจริง
ไม่มีตัวกรองสำหรับรันที่เสร็จแล้ว ถูกระงับ หรือถูกยกเลิก ไม่มีตัวกรองรายเทมเพลต ไม่มีช่วงเวลา และไม่มีมุมมองประวัติรันรายเทมเพลต การเทียบรันของเทมเพลตเดียวกัน ทำได้โดยกวาดสายตาหาชื่อของมันในคิว
อ่านรายละเอียดของรัน
หัวข้อที่มีชื่อว่า “อ่านรายละเอียดของรัน”หน้ารันหนึ่ง ๆ มีสามส่วนซ้อนกัน
แถบเมตา บอกเวลาเริ่ม ระยะเวลาทำงานจริง ความคืบหน้าของขั้นตอน (“3 จาก 7 ขั้นตอน”) สรุปความล้มเหลวที่ระบุขั้นตอนที่พังและสาเหตุ และการกระทำ ลองใหม่ กับ ลบ
แผนภาพน้ำตกเวลา ให้แท่งหนึ่งแท่งต่อหนึ่งขั้นตอน พร้อมระยะเวลา และสำหรับ
ขั้นตอนเอเจนต์ จะมีต้นทุนเป็นเซนต์ ขั้นตอนที่ถูกลองใหม่จะแสดงส่วนต่อท้าย ×N
ต่อจากระยะเวลา ส่วนต่อท้ายนี้เป็นที่เดียวที่จำนวนครั้งที่ลองปรากฏออกมา
แคนวาสกราฟ วาดเทมเพลตพร้อมสถานะสดของแต่ละโหนด การเลือกโหนดจะเปิด แผงขั้นตอนของมัน
สถานะของรันและขั้นตอน
หัวข้อที่มีชื่อว่า “สถานะของรันและขั้นตอน”| สถานะ | ความหมาย |
|---|---|
| รอดำเนินการ | สร้างแล้ว ยังไม่เริ่ม |
| อยู่ในคิว | รับเข้าแล้วแต่ถูกกักไว้: เพดานรันขนานสูงสุดของเทมเพลตนี้เต็มแล้ว; ยังไม่มีแถวขั้นตอน |
| กำลังรัน | กำลังทำงาน |
| ระงับ | รออะไรบางอย่างจากภายนอก — ปกติ ไม่ได้ค้าง |
| เสร็จแล้ว | จบลงอย่างสำเร็จ |
| ล้มเหลว | จบลงด้วยข้อผิดพลาด |
| ยกเลิกแล้ว | ถูกหยุดโดยผู้ใช้หรือโดยระบบ |
ขั้นตอนมีสถานะเหล่านั้นยกเว้น อยู่ในคิว และเพิ่ม ข้ามแล้ว สำหรับสาขาที่ เราเตอร์ไม่ได้เลือกไป (รวมถึงโหนดสืบทอดที่ไปไม่ถึงแล้วในตอนนี้)
ระงับ คือสถานะที่ขั้นตอนเอเจนต์ใช้เวลาส่วนใหญ่: เอเจนต์ที่ถูกสั่งงานหรือ
เกตการอนุมัติจะกักขั้นตอนไว้จนกว่างานของมันจะเสร็จลง กลไกกันพลาดสองข้อของเอนจิน
ทำให้ทั้งรันล้มเหลวแทนที่จะรันต่อ: ขั้นตอนที่ถูกระงับนานกว่า 24 ชั่วโมง
(extras.awaitApproval — บอดี orchestration.awaitApproval — ได้รับยกเว้น;
human.gate ไม่ได้รับ) และขั้นตอนที่ไม่เป็น idempotent ซึ่งกำลังทำงานอยู่
ตอนเซิร์ฟเวอร์หยุด
ตรวจดูขั้นตอน
หัวข้อที่มีชื่อว่า “ตรวจดูขั้นตอน”เลือกโหนดบนแคนวาส แผงขั้นตอนจะแสดงตามลำดับ:
- กล่องข้อความ ข้อผิดพลาด เมื่อขั้นตอนล้มเหลว หรือกล่องข้อความ ข้ามแล้ว พร้อมเหตุผลเมื่อขั้นตอนถูกข้าม
- เริ่มแล้ว, จบแล้ว และระยะเวลา
- สาขา — ดัชนีสาขา สำหรับสาขาที่รันขนานกัน
- ดูการสนทนา — กระโดดไปยังการสนทนาที่ขั้นตอนรันอยู่ การสนทนาของไปป์ไลน์ ถูกซ่อนจากแถบข้าง นี่จึงเป็นทางเข้าเดียว
- อินพุต และ เอาต์พุต เป็น JSON ที่พับเก็บได้
- กิจกรรมของเอเจนต์ — การ์ดหนึ่งใบต่อการรันเอเจนต์หนึ่งครั้งที่ขั้นตอน สั่งงาน พร้อมสถานะ สรุป ระยะเวลา และต้นทุน
สำหรับขั้นตอนเอเจนต์ เอาต์พุต คือเพย์โหลดแบบมีโครงสร้างที่เอเจนต์ส่งมาด้วย
submit_output ไม่ใช่ข้อความบรรยายของมัน ร่องรอยการให้เหตุผลอยู่ใน
กิจกรรมของเอเจนต์ และในการสนทนาที่อยู่หลัง ดูการสนทนา
สำหรับขั้นตอน bash เอาต์พุต คือ stdout ที่ถูกตัดช่องว่างหัวท้าย ซึ่งสคริปต์ เขียนไว้ตอนออกด้วยรหัส 0 การออกด้วยรหัสที่ไม่ใช่ศูนย์ทำให้ขั้นตอนล้มเหลว โดยใช้ ส่วนท้ายของ stderr เป็นข้อความข้อผิดพลาด
กู้รันที่ล้มเหลว
หัวข้อที่มีชื่อว่า “กู้รันที่ล้มเหลว”- อ่านสรุปความล้มเหลวบนแถบเมตา มันจะระบุขั้นตอนที่ล้มเหลว กล่องข้อความ ข้อผิดพลาด ในแผงขั้นตอนมีข้อความนั้น
- ตรวจ อินพุต ของขั้นตอน — คีย์สถานะที่หายไปหรือพิมพ์ผิดคือสาเหตุที่พบบ่อย ที่สุด ขั้นตอนพรอมป์ต์เอเจนต์จะล้มเหลวทันทีและระบุชื่อตัวยึดตำแหน่งที่ยังแก้ ไม่ได้ ส่วนขั้นตอน bash จะแทนที่ด้วยสตริงว่างแล้วรันต่อไป ซึ่งมักปรากฏให้เห็น ในอีกหนึ่งขั้นตอนถัดมา
- สำหรับขั้นตอนเอเจนต์ ให้เปิด ดูการสนทนา แล้วอ่านว่าเอเจนต์ทำอะไรไปจริง ๆ
- กด ลองใหม่ บนแถบเมตา ขั้นตอนที่เสร็จแล้วและที่ถูกข้ามจะเก็บเอาต์พุตไว้ ส่วนที่เหลือจะถูกลบและรันใหม่ และรันจะกลับไปเป็นกำลังรัน นาฬิกาจับระยะเวลา จะเริ่มนับใหม่สำหรับการลองครั้งนี้
สาเหตุที่พบบ่อยซึ่งควรตรวจก่อน:
- หมดเวลา — ขั้นตอนเกิน หมดเวลา (ms) ของมัน อย่าลืมว่าช่องนี้เป็น มิลลิวินาที
- สคริปต์ผิดพลาด — คำสั่ง bash ออกด้วยรหัสที่ไม่ใช่ศูนย์ หรือ
bashไม่ได้ อยู่บนPATHของโฮสต์เซิร์ฟเวอร์ - การตรวจสอบสคีมา — เพย์โหลด
submit_outputของเอเจนต์ไม่เป็นไปตามสคีมา เอาต์พุตของขั้นตอน - ตัวยึดตำแหน่งที่แก้ไม่ได้ —
{{key}}ที่ขั้นตอนพรอมป์ต์เอเจนต์อ้างถึง ไม่เคยถูกเขียนขึ้นในต้นทาง ข้อผิดพลาดจะระบุทุกคีย์ที่แก้ไม่ได้ - บอดีที่ไม่ได้ลงทะเบียน — ขั้นตอนที่คีย์บอดีไม่ได้ลงทะเบียนจะเตือนตอนโหลด เทมเพลต แล้วก็ไม่ทำงานเลย
หยุดขั้นตอนที่ค้างอยู่
หัวข้อที่มีชื่อว่า “หยุดขั้นตอนที่ค้างอยู่”เลือกขั้นตอนที่กำลังรัน แล้วกดปุ่ม ฆ่าที่กำลังรัน ในส่วนหัวของแผงขั้นตอน การทำเช่นนี้จะฆ่ากระบวนการของขั้นตอน ทำเครื่องหมายว่าขั้นตอนล้มเหลว และทำให้ ทั้งรันล้มเหลวตามไปด้วย — ทุกสาขาพี่น้องที่ยังเปิดอยู่จะถูกปิดไปพร้อมกัน
ไม่มีตัวควบคุมสำหรับยกเลิกรันบนหน้าจอนี้ pipeline.cancel มีอยู่เป็นปฏิบัติการ
RPC และเอนจินรองรับมัน แต่ไม่มีส่วนใดใน UI ของไปป์ไลน์เรียกใช้มัน
ฆ่าที่กำลังรัน บนขั้นตอน หรือ ลบ บนรัน คือท่าหยุดเดียวเท่านั้นที่มีให้ใช้
ติดตามต้นทุน
หัวข้อที่มีชื่อว่า “ติดตามต้นทุน”ต้นทุนรายงานแยกตามขั้นตอน ในคอลัมน์ขวาของแผนภาพน้ำตกเวลา และบนการ์ดแต่ละใบ ใต้ กิจกรรมของเอเจนต์ ไม่มีผลรวมระดับรันบนหน้ารายละเอียด และไม่มีคอลัมน์ ต้นทุนในคิวรัน ดังนั้นการเทียบต้นทุนของสองรันจึงต้องบวกต้นทุนของขั้นตอนทั้งหมด เข้าด้วยกัน