datamitsu: เครื่องมือจัดการชุดเครื่องมือที่สามารถทำซ้ำได้และมุ่งเน้นด้านความปลอดภัยสำหรับทีมวิศวกรรม
datamitsu, จาก Alexander Svinarev, เป็นยูทิลิตี้ Windows ที่สร้างการแจกจ่ายเครื่องมือพัฒนาที่สามารถทำซ้ำได้และมุ่งเน้นด้านความปลอดภัยสำหรับทีม เครื่องมือนี้จัดการไบนารี, รันไทม์, และไฟล์การกำหนดค่ากลาง, บังคับการตรวจสอบ SHA-256, และเก็บข้อมูลที่ใช้ซ้ำล่วงหน้าสำหรับการสร้าง CI เพื่อให้แน่ใจว่าผู้มีส่วนร่วมทุกคนใช้เวอร์ชันเครื่องมือที่เหมือนกันและได้รับการตรวจสอบแล้ว การกำหนดค่าที่สามารถตั้งโปรแกรมได้ด้วย JavaScript/TypeScript, การสืบทอดการกำหนดค่า, แคชที่รู้จัก monorepo, และการสนับสนุนหลายรันไทม์รวมถึง Python, Node.js, JVM, และไบนารีพื้นเมือง มันมุ่งเป้าไปที่นักพัฒนาและวิศวกร DevOps ที่ต้องการเครื่องมือที่สอดคล้องกันและตรวจสอบได้ในโครงการและท่อ CI.
การดำเนินการของการกำหนดค่าที่สามารถตั้งโปรแกรมได้ในทางปฏิบัติ
นักพัฒนาจะเขียนการกำหนดค่าเป็นไฟล์ JavaScript หรือ TypeScript ที่เครื่องมือทำงานผ่าน goja runtime ดังนั้นข้อมูลนำเข้าจึงสามารถมีการควบคุมการไหล การเลือกแบบไดนามิก และค่าที่คำนวณได้ การเชื่อมโยงการกำหนดค่าและชั้นการสืบทอดช่วยให้ค่าเริ่มต้นในระดับบริษัทผสมผสานกับการเขียนทับในระดับโครงการ สร้างแผนการทำงานสุดท้ายที่เครื่องมือใช้เมื่อเลือกไบนารีและจัดเรียงแคช วิธีการเชิงโปรแกรมนี้ถือว่าการกำหนดค่าเป็นโค้ดและต้องการให้ผู้เขียนดูแลการกำหนดค่าควบคู่ไปกับซอร์ส
วิธีที่ datamitsu บังคับใช้ความสมบูรณ์ของไบนารี
เครื่องมือจะทำการ ตรวจสอบแฮช SHA-256 ที่บังคับ สำหรับทุกไบนารีที่จัดการ ดังนั้นการตรวจสอบที่ไม่ตรงกันจะถูกทำเครื่องหมายก่อนการติดตั้งหรือการเติมแคช ข้อกำหนดนั้นสร้างเส้นทางที่สามารถตรวจสอบได้สำหรับอาร์ติแฟกต์และลดความเสี่ยงของการดำเนินการที่ถูกดัดแปลงเข้าสู่สภาพแวดล้อมของนักพัฒนา ทีมสามารถบันทึกข้อมูลเมตาของแฮชในบันทึก CI หรือทะเบียนอาร์ติแฟกต์เพื่อสนับสนุนการติดตามและการตรวจสอบหลังการปรับใช้
วิธีที่มันรวมเข้ากับ monorepos และ CI workflows
สถาปัตยกรรมจะแยกแคชต่อโครงการในโครงสร้าง monorepo ป้องกันความขัดแย้งของเครื่องมือระหว่างพื้นที่ทำงานและอนุญาตให้การดำเนินการขนานโดยไม่รั่วไหลของสถานะที่ใช้ร่วมกัน ฟีเจอร์ที่มุ่งเน้น Docker จะทำการแคชเครื่องมือไว้ในชั้นภาพ ซึ่งช่วยลดระยะเวลาในการตั้งค่า CI โดยการลดการดาวน์โหลดซ้ำ Built-in multi-runtime awareness หมายความว่าวิธีการจัดเตรียมเดียวกันสามารถกำหนดเป้าหมาย Python ผ่าน UV, Node.js ผ่าน pnpm, JVM และไบนารีพื้นเมือง ดังนั้น pipeline สามารถรวมศูนย์การจัดเตรียมเครื่องมือข้ามการสร้างที่หลากหลาย
ใครควรนำไปใช้ในระหว่าง alpha และควรเตรียมตัวอย่างไร
เครื่องมือมุ่งเป้าไปที่นักพัฒนาและวิศวกร DevOps ที่สะดวกในการเขียนการกำหนดค่าเชิงโปรแกรมและจัดการโครงสร้างพื้นฐานการสร้าง มันอยู่ในระยะ alpha ดังนั้น API การกำหนดค่าอาจยังไม่เสถียรและการรวมอาจเปลี่ยนแปลงระหว่างการเปิดตัว ทีมควรทดสอบ datamitsu ในการจัดเตรียมและวางแผนขั้นตอนการย้ายสำหรับ API ที่พัฒนาแล้ว เอกสารทางการมีให้ แต่ผู้ดำเนินการควรถือว่าการกำหนดค่าเป็นโค้ดและรวมการสำรองข้อมูลที่มีเวอร์ชันก่อนการเปิดตัวในวงกว้าง
ท่าทีการนำไปใช้ที่เป็นประโยชน์สำหรับทีมเทคนิค
สำหรับทีมวิศวกรรมที่ยอมรับการกำหนดค่าผ่านโปรแกรมและ API ที่พัฒนาอย่างต่อเนื่อง datamitsu เสนอเส้นทางที่เป็นประโยชน์ในการบังคับใช้เครื่องมือที่สามารถทำซ้ำได้และตรวจสอบได้; การนำไปใช้ต้องมีแผนการย้ายและการตรวจสอบระยะกลางเนื่องจากโครงการอยู่ในขั้น alpha และ API การกำหนดค่าอาจมีการเปลี่ยนแปลง ให้ถือว่าการติดตั้งเริ่มต้นเป็นการทดลอง, ติดตั้ง CI logs สำหรับ checksum และพฤติกรรมของ cache, และมอบหมายกลุ่มนำร่องเพื่อยืนยันก่อนการเปิดตัวทั่วทั้งองค์กร แนะนำ.