โครงการ и เกี่ยวกับการตัดสินใจสร้างบริการพัฒนาแบบร่วมมือ Git Forge ซึ่งจะสร้างขึ้นโดยใช้แพลตฟอร์ม GitLab โดย GitLab จะกลายเป็นแพลตฟอร์มหลักสำหรับการโต้ตอบกับที่เก็บข้อมูล Git และสำหรับการโฮสต์โครงการที่เกี่ยวข้องกับการแจกจ่ายซอฟต์แวร์ CentOS และเฟโดรา บริการที่เคยใช้ก่อนหน้านี้ Pagure จะยังคงอยู่ต่อไป แต่จะถูกส่งต่อให้ชุมชนที่สนใจในการพัฒนาต่อ Pagure จะถูกถอดออกจากทีม CPE (Community Platform Engineering) ที่ Red Hat จ้างมา ซึ่งทีมนี้ดูแลโครงสร้างพื้นฐานสำหรับการพัฒนาและเผยแพร่ Fedora เวอร์ชันต่างๆ CentOS.
เมื่อประเมินวิธีแก้ปัญหาที่เป็นไปได้สำหรับ Git Forge ใหม่ เราได้พิจารณาแล้ว
Pagure และ Gitlab จากการศึกษาเกี่ยวกับ และคำอวยพรจากผู้เข้าร่วมโครงการ Fedora CentOSเนื่องจากความต้องการด้านฟังก์ชันการทำงานมีหลากหลาย จึงมีการกำหนดข้อกำหนดสำหรับ RHEL และ CPE และเลือกใช้ Gitlab นอกจากฟังก์ชันการทำงานพื้นฐานของที่เก็บข้อมูล (การรวม การคัดลอก การเพิ่มโค้ด ฯลฯ) แล้ว ความปลอดภัย ความง่ายในการใช้งาน และความเสถียรของแพลตฟอร์มก็เป็นข้อกำหนดสำคัญเช่นกัน
ข้อกำหนดรวมถึงคุณสมบัติต่างๆ เช่น การส่งคำขอแบบพุชผ่าน HTTPS วิธีการจำกัดการเข้าถึงสาขา การสนับสนุนสาขาส่วนตัว การแยกการเข้าถึงสำหรับผู้ใช้ภายนอกและภายใน (ตัวอย่างเช่น เพื่อดำเนินการกำจัดช่องโหว่ระหว่างการคว่ำบาตรในการเปิดเผยข้อมูลเกี่ยวกับปัญหา) , อินเทอร์เฟซที่คุ้นเคย, การรวมระบบย่อยสำหรับการทำงานกับรายงานปัญหา, โค้ด, เอกสารประกอบและการวางแผนคุณสมบัติใหม่, ความพร้อมใช้งานของเครื่องมือสำหรับการทำงานร่วมกับ IDE, การสนับสนุนเวิร์กโฟลว์มาตรฐาน
ในบรรดาคุณสมบัติของ GitLab ที่มีอิทธิพลต่อการตัดสินใจเลือกใช้แพลตฟอร์มนี้ ได้แก่ การรองรับกลุ่มย่อยที่มีสิทธิ์เข้าถึงคลังเก็บข้อมูลแบบเลือกได้ และความสามารถในการใช้บอทสำหรับการรวมโค้ดอัตโนมัติ (ต้องใช้...) CentOS (เช่น สตรีมสำหรับการบำรุงรักษาแพ็กเกจเคอร์เนล) การมีเครื่องมือในตัวสำหรับการวางแผนการพัฒนา และความสามารถในการใช้บริการ SAAS สำเร็จรูปที่มีระดับความพร้อมใช้งานที่รับประกันได้ (ซึ่งจะช่วยประหยัดทรัพยากรสำหรับการบำรุงรักษาโครงสร้างพื้นฐานของเซิร์ฟเวอร์)
การตัดสินใจมีอยู่แล้ว การวิพากษ์วิจารณ์ในหมู่นักพัฒนาเนื่องจากการตัดสินใจดังกล่าวเกิดขึ้นโดยไม่มีการสนทนาล่วงหน้าอย่างกว้างขวาง นอกจากนี้ยังมีข้อกังวลว่าบริการดังกล่าวจะไม่ใช้ GitLab รุ่น Comminity ฟรี โดยเฉพาะอย่างยิ่งความสามารถที่จำเป็นในการดำเนินการตามข้อกำหนดสำหรับ Git Forge ที่อธิบายไว้ในประกาศนั้นมีให้เฉพาะในเวอร์ชันที่เป็นกรรมสิทธิ์เท่านั้น .
ความตั้งใจที่จะใช้บริการ SAAS (แอปพลิเคชันเป็นบริการ) ที่ GitLab มอบให้ แทนที่จะปรับใช้ GitLab บนเซิร์ฟเวอร์ ก็ถูกวิพากษ์วิจารณ์เช่นกัน ซึ่งทำให้บริการอยู่นอกเหนือการควบคุม (เช่น เป็นไปไม่ได้ที่จะแน่ใจได้ว่าช่องโหว่ทั้งหมดใน ระบบจะถูกกำจัดทันที โครงสร้างพื้นฐานยังคงอยู่ วันหนึ่งจะไม่มี และไม่รวมการก่อวินาศกรรมโดยบุคลากรของบริษัทบุคคลที่สาม) วิธีแก้ปัญหาก็ใช้งานไม่ได้เช่นกัน ซึ่งระบุว่าโครงการจะต้องให้ความสำคัญกับทางเลือกฟรี
ในขณะเดียวกัน GitLab เกี่ยวกับการค้นพบการใช้งาน 18 ฟังก์ชันที่ก่อนหน้านี้นำเสนอเฉพาะใน GitLab รุ่นที่เป็นกรรมสิทธิ์เท่านั้น ความสามารถครอบคลุมพื้นที่ต่างๆ ในการจัดการวงจรการพัฒนาซอฟต์แวร์ทั้งหมด รวมถึงการวางแผนการพัฒนา การสร้างโครงการ การตรวจสอบ การจัดการแพ็คเกจ การสร้างรุ่น การกำหนดค่า และการรักษาความปลอดภัย
ฟังก์ชั่นต่อไปนี้ถูกถ่ายโอนไปยังช่วงฟรี:
- แนบประเด็นที่เกี่ยวข้อง
- ส่งออกปัญหาจาก GitLab เป็น CSV;
- โหมดของการวางแผน การจัดระเบียบ และการแสดงภาพกระบวนการพัฒนาของฟังก์ชันการทำงานหรือการเผยแพร่แต่ละรายการ
- บริการในตัวสำหรับการเชื่อมต่อผู้เข้าร่วมโครงการกับบุคคลที่สามโดยใช้อีเมล
- เว็บเทอร์มินัลสำหรับ Web IDE;
- ความสามารถในการซิงโครไนซ์ไฟล์เพื่อทดสอบการเปลี่ยนแปลงโค้ดในเว็บเทอร์มินัล
- ออกแบบการควบคุมที่ช่วยให้คุณสามารถอัปโหลดแบบจำลองและเนื้อหาที่จะออก โดยใช้ปัญหาเป็นจุดเดียวในการเข้าถึงทุกสิ่งที่คุณต้องการในการพัฒนาคุณสมบัติใหม่
- รายงานคุณภาพรหัส
- รองรับตัวจัดการแพ็คเกจ Conan (C/C++), Maven (Java), NPM (node.js) และ NuGet (.NET);
- รองรับการปรับใช้ canary ช่วยให้คุณสามารถติดตั้งแอปพลิเคชันเวอร์ชันใหม่ในส่วนเล็กๆ ของระบบ
- การแจกแจงแบบเพิ่มหน่วย อนุญาตให้ส่งเวอร์ชันใหม่ไปยังระบบจำนวนเล็กน้อยในตอนแรก โดยค่อยๆ เพิ่มความครอบคลุมเป็น 100%
- แฟล็กการเปิดใช้งานฟังก์ชันซึ่งทำให้สามารถส่งมอบโปรเจ็กต์ในรุ่นต่างๆ เปิดใช้งานคุณสมบัติบางอย่างแบบไดนามิก
- โหมดภาพรวมการปรับใช้ ซึ่งช่วยให้คุณประเมินสถานะของสภาพแวดล้อมการรวมอย่างต่อเนื่องแต่ละแบบตาม Kubernetes
- รองรับการกำหนดคลัสเตอร์ Kubernetes หลายรายการในตัวกำหนดค่า (เช่น คุณสามารถใช้คลัสเตอร์ Kubernetes แยกกันสำหรับการใช้งานแบบทดลองใช้และปริมาณงาน)
- รองรับการกำหนดนโยบายความปลอดภัยเครือข่ายคอนเทนเนอร์ที่ช่วยให้คุณจำกัดการเข้าถึงระหว่างพ็อด Kubernetes
นอกจากนี้ยังสามารถสังเกตได้ GitLab อัปเดต 12.9.1, 12.8.8 และ 12.7.8 (Community Edition และ Enterprise Edition) ซึ่งแก้ไขช่องโหว่ ปัญหานี้เกิดขึ้นตั้งแต่การเปิดตัว GitLab EE/CE 8.5 และอนุญาตให้อ่านเนื้อหาของไฟล์ในเครื่องได้เมื่อย้ายปัญหาระหว่างโปรเจ็กต์
รายละเอียดเกี่ยวกับช่องโหว่จะถูกเปิดเผยหลังจาก 30 วัน
ที่มา: opennet.ru
