Buildkite ตัวแทน: ผู้วิ่งที่โฮสต์เองสำหรับท่อส่ง CI ที่ควบคุมได้
Buildkite Agent, พัฒนาโดย Buildkite Pty. Ltd., เป็นตัวรันบิลด์แบบโอเพนซอร์สที่มีน้ำหนักเบาซึ่งทำงานต่อเนื่องในงานการรวมที่คุณจัดการโครงสร้างพื้นฐาน มันรับขั้นตอนของพายป์ไลน์จากแดชบอร์ดเว็บศูนย์กลาง รันขั้นตอนเหล่านั้นบนเครื่องหรือคอนเทนเนอร์ในท้องถิ่น และส่งคืนบันทึกและอาร์ติแฟกต์ไปยังแดชบอร์ด ตัวเอเจนต์รองรับการทำงานข้ามแพลตฟอร์มและการขยายความสามารถผ่านฮุคและข้อมูลเมตา ทำให้เหมาะสำหรับนักพัฒนาและทีม DevOps ที่ต้องการ CI ที่ปลอดภัยและตรวจสอบได้บนเซิร์ฟเวอร์ส่วนตัว.
วิธีที่ตัวแทนแยกการจัดการออกจากการดำเนินการ
ตัวแทนใช้โมเดล CI แบบไฮบริด: แผนการควบคุมที่โฮสต์จะกำหนดงานในขณะที่การดำเนินการเกิดขึ้นบนโฮสต์ของคุณ การออกแบบนี้หมายความว่า การจัดการพายป์ไลน์ถูกโฮสต์ในคลาวด์ ในขณะที่คำสั่งการสร้าง การจัดการความลับ และการจัดเก็บอาร์ติแฟกยังคงอยู่ภายในเครือข่ายของคุณ ซึ่งรักษาการควบคุมเหนือสภาพแวดล้อมและข้อมูลที่ละเอียดอ่อน ทีมที่ต้องการเก็บซอร์สและความลับไว้ในสถานที่สามารถได้รับประโยชน์จากการแยกหน้าที่นี้
มันทำงานอย่างไรภายใต้ภาระงานที่เกิดขึ้นพร้อมกันบนโฮสต์
การดำเนินการสร้างสามารถขยายได้โดยการรันหลายตัวแทนหรือการทำงานพร้อมกันบนเครื่องเดียว; เอกสารผลิตภัณฑ์ระบุว่าคุณสามารถรันตัวแทนหลายตัวบนโฮสต์เดียวได้หากทรัพยากรเพียงพอ ความสามารถนี้ช่วยให้พายป์ไลน์เร็วขึ้นผ่านการดำเนินการงานแบบขนาน แต่ก็ยังเปลี่ยนความต้องการ CPU, หน่วยความจำ และ I/O ของดิสก์ไปยังโครงสร้างพื้นฐานของคุณ ดังนั้นการวางแผนความจึงจำเป็นสำหรับภาระงานที่หนัก
มันปลอดภัยแค่ไหนในการทำงานในเครือข่ายที่จำกัด
ตัวแทนต้องการการเชื่อมต่อ HTTPS ขาออกเพื่อสื่อสารกับ API ของบริการและรายงานสถานะ และไม่ต้องการการเปิดไฟร์วอลล์ขาเข้า เนื่องจากโค้ดเป็นโอเพนซอร์สและตัวแทนจะส่งเพียงบันทึกและสถานะงาน ทีมที่มีความตระหนักด้านความปลอดภัยสามารถตรวจสอบซอร์สและเก็บความลับไว้ในด้านของตนในขณะที่ยังคงใช้แดชบอร์ดที่โฮสต์เพื่อจัดการพายป์ไลน์
ระดับทักษะทางเทคนิคที่จำเป็นในการใช้งานคืออะไร
การติดตั้งและการใช้งานตัวแทนคาดหวังทักษะการบริหารระบบ: การติดตั้ง Windows มี MSI, สคริปต์ PowerShell หรือไบนารีแบบแมนนวล และการปรับใช้ในรูปแบบคอนเทนเนอร์มีให้สำหรับสภาพแวดล้อม Docker การขยายพฤติกรรมใช้ฮุกและเมตาดาต้าที่กำหนดเอง ซึ่งต้องการความรู้ด้านการเขียนสคริปต์ องค์กรที่มีการดำเนินการฟลีทขนาดใหญ่ของผู้วิ่งควรวางแผนสำหรับการจัดการการกำหนดค่าและการตรวจสอบกระบวนการของตัวแทน
ใครควรดำเนินการตัวแทน และคำแนะนำที่เป็นประโยชน์
ตัวแทนเป็นทางเลือกที่เป็นจริงสำหรับทีมวิศวกรรมที่ต้องการการดำเนินการ CI บนโครงสร้างพื้นฐานที่พวกเขาควบคุม และสำหรับกลุ่มการดำเนินงานที่สามารถจัดสรรทรัพยากรและความเชี่ยวชาญในการเขียนสคริปต์ได้ ควรมีการวางแผนความจุของโฮสต์และการจัดการการกำหนดค่าก่อนการเปิดตัวอย่างกว้างขวาง แนะนำ.
ข้อดี
- โมเดลไฮบริดจะรักษาการดำเนินการสร้างไว้บนโครงสร้างพื้นฐานส่วนตัว
- โค้ดโอเพนซอร์สช่วยให้ชุมชนสามารถตรวจสอบและตรวจสอบได้
- สามารถเรียกใช้งานหลายตัวแทนต่อโฮสต์สำหรับการประมวลผลงานแบบขนาน
- การสนับสนุนโดยตรงสำหรับสภาพแวดล้อมการสร้างที่บรรจุในคอนเทนเนอร์
ข้อเสีย
- ต้องการ HTTPS ออกไป ดังนั้นไม่สามารถทำงานแบบออฟไลน์ได้
- การใช้ทรัพยากรของโฮสต์เพิ่มขึ้นเมื่อมีงานที่ทำพร้อมกัน
- การตั้งค่าเริ่มต้นต้องการทักษะการบริหารระบบและการเขียนสคริปต์
- การจัดการยังคงอยู่ในระบบคลาวด์แทนที่จะเป็นแบบท้องถิ่นอย่างเต็มที่