โปรแกรมติดตั้ง CLI ขนาดเบาสำหรับทรัพย์สินและไบนารีของการปล่อย GitHub
ghr ซึ่งพัฒนาโดย cataggar เป็นโปรแกรมติดตั้งผ่านบรรทัดคำสั่งที่ดึงและติดตั้งสินทรัพย์การปล่อยโดยตรงจากที่เก็บ GitHub เครื่องมือนี้จะสอบถามข้อมูลเมตาของการปล่อย ดาวน์โหลดสินทรัพย์ที่เลือก แยกไฟล์ที่บีบอัด และวางไฟล์ไบนารีเพื่อให้สามารถใช้งานได้ทันทีในสคริปต์และสภาพแวดล้อมของนักพัฒนา ไบนารีที่สร้างด้วย Zig ทำงานด้วยความต้องการขั้นต่ำและสามารถใช้งานข้ามแพลตฟอร์ม ทำให้เหมาะสำหรับการทำงาน CI ออกแบบมาสำหรับนักพัฒนา วิศวกร DevOps และผู้ใช้ที่มีความสามารถที่ต้องการการติดตั้งที่สามารถทำซ้ำได้และสามารถเขียนสคริปต์ได้ของเวอร์ชันการปล่อยเฉพาะ
ghr ทำการดึงข้อมูล ค้นหา และวางงานด้วยคำสั่งเดียว
มันทำงานอย่างไร: ผู้ใช้จะต้องระบุเจ้าของ/ที่เก็บเป้าหมายและแท็กที่เลือกได้; เครื่องมือจะทำการสอบถาม GitHub Release API, เลือกสินทรัพย์ที่ตรงกัน, ดาวน์โหลดไฟล์, แยกไฟล์บีบอัด, และเขียนไฟล์ไบนารีไปยังไดเรกทอรีเป้าหมาย ข้อมูลนำเข้าทั่วไปคือการอ้างอิงที่เก็บหรือเวอร์ชันที่ถูกตรึง ข้อมูลส่งออกทั่วไปคือไฟล์ที่สามารถรันได้ทันทีสำหรับการใช้งานในท้องถิ่นหรือขั้นตอนการทำงานอัตโนมัติถัดไป ซึ่งทำให้เครื่องมือเหมาะสมสำหรับการติดตั้งที่เขียนสคริปต์
การใช้งาน Zig ลดขั้นตอนการตั้งค่าใน CI และคอนเทนเนอร์
ผลกระทบต่อระบบ: ghr ถูกแจกจ่ายเป็นไบนารี Zig แบบสแตนด์อโลนที่ไม่มีความต้องการรันไทม์ภายนอก ซึ่งช่วยลดการกำหนดค่าตัวแทนในภาพการสร้างและสภาพแวดล้อมที่บรรจุในคอนเทนเนอร์ การออกแบบนั้นช่วยลดจำนวนข้อกำหนดเบื้องต้นในโหนด CI และเครื่องของนักพัฒนา ทำให้เครื่องมือสามารถทำงานได้โดยไม่ต้องติดตั้งตัวแปลภาษา พื้นที่การดำเนินงานที่เล็กช่วยให้ภาพการทำงานอัตโนมัติมีความกระชับและคาดการณ์ได้
การวางไบนารีอัตโนมัติเพิ่มข้อพิจารณาด้านห่วงโซ่อุปทาน
ความปลอดภัยและความมั่นคง: เนื่องจากเครื่องมือจะทำการแยกและเขียนไฟล์ที่สามารถรันได้จากสินทรัพย์การปล่อย ความไว้วางใจในที่เก็บต้นทางเป็นข้อกำหนดที่จำเป็นจริง เครื่องมือมุ่งเน้นไปที่การติดตั้งเนื้อหาการปล่อยมากกว่าการลงนามหรือการตรวจสอบแหล่งที่มา ดังนั้นให้แทรกขั้นตอนการตรวจสอบที่เก็บในท่อการทำงานอัตโนมัติเมื่อการติดตั้งที่ไม่ต้องดูแลต้องการ การใช้ตัวแทนที่แยกออกหรือการควบคุมการติดตั้งที่อยู่เบื้องหลังการตรวจสอบที่เก็บช่วยลดความเสี่ยงในการดำเนินงาน
การมุ่งเน้นที่บรรทัดคำสั่งมุ่งเป้าไปที่นักพัฒนาและการรวมท่อ
การใช้งานและผู้ชม: ชุดเครื่องมือมีแนวโน้มที่จะใช้บรรทัดคำสั่งและคาดหวังความคุ้นเคยกับไวยากรณ์ CLI และข้อกำหนดของที่เก็บ ดังนั้นจึงชอบการใช้งานของนักพัฒนาและ DevOps มากกว่าผู้ใช้ทั่วไปที่ใช้เดสก์ท็อป การติดตั้งไบนารีผ่านผู้จัดการแพ็คเกจของแพลตฟอร์มมีให้เพื่อความสะดวก แต่คุณค่าที่ใหญ่ที่สุดจะปรากฏเมื่อเครื่องมือถูกฝังในสคริปต์ ขั้นตอนการบูตสแตรป หรือการทำงาน CI ที่ต้องการการติดตั้งที่สามารถทำซ้ำได้และทำงานอัตโนมัติ
ghr เป็นทางเลือกที่ใช้ได้จริงสำหรับการติดตั้งแบบสคริปต์ในสภาพแวดล้อมที่ควบคุม
ในฐานะที่เป็นโปรแกรมติดตั้งที่กะทัดรัดสำหรับเครื่องมือที่โฮสต์บน GitHub มันเหมาะสำหรับวิศวกรที่ทำการตั้งค่าและกระบวนการ CI อัตโนมัติ; ข้อแลกเปลี่ยนหลักคือการพึ่งพาการบรรจุแพ็คเกจและการตั้งชื่อสินทรัพย์ที่สอดคล้องกัน สำหรับผลลัพธ์ที่ดีที่สุด ให้ล็อคเวอร์ชันในระบบอัตโนมัติของคุณและทำการติดตั้งในตัวแทนที่แยกจากกันหรือชั่วคราวเพื่อให้การปล่อยที่มีข้อผิดพลาดเพียงครั้งเดียวไม่ส่งผลกระทบต่อโฮสต์ที่มีอายุยืนยาว แนะนำให้ใช้.
ข้อดี
- Standalone Zig ไบนารี ไม่ต้องการรันไทม์ภายนอก
- การติดตั้งโดยตรงจากทรัพย์สินการปล่อย GitHub พร้อมการกำหนดเป้าหมายเวอร์ชัน
- พื้นผิวการดำเนินงานขนาดเล็กที่เหมาะสำหรับภาพ CI และคอนเทนเนอร์
- ดึงข้อมูลและวางไฟล์ไบนารีที่ปล่อยออกมาโดยอัตโนมัติเพื่อการใช้งานทันที
ข้อเสีย
- เฉพาะบรรทัดคำสั่ง ไม่ได้มุ่งเป้าไปที่ผู้ใช้ที่เน้น GUI
- ขึ้นอยู่กับการตั้งชื่อและบรรจุภัณฑ์ของสินทรัพย์ที่ปล่อยออกมาอย่างสม่ำเสมอ
- การชนกันของชื่อกับ ghr ที่ใช้ Go อื่น ๆ อาจทำให้เกิดความสับสน