คลังเก็บวัตถุคืออะไร?


คำตอบ:


32

ในระหว่างการพัฒนาคุณสร้างสิ่งประดิษฐ์ต่าง ๆ จำนวนพอสมควร สิ่งเหล่านี้อาจรวมถึง:

  • รหัสแหล่งที่มา
  • แอพพลิเคชั่นที่รวบรวม
  • แพคเกจที่ใช้งานได้
  • เอกสาร

และอื่น ๆ ที่อาจเกิดขึ้นเช่นกัน

ในขณะที่คุณสามารถใช้ระบบการควบคุมแหล่งที่มาเพื่อจัดเก็บทั้งหมดมันมักจะไม่มีประสิทธิภาพอย่างมากเนื่องจากระบบควบคุมแหล่งที่มามักจะได้รับการออกแบบมาเพื่อจัดการไฟล์ข้อความตามและไม่ใช่ไฟล์ไบนารี คุณอาจจะสามารถใช้มันเป็นกลไกการจัดเก็บข้อมูลแบบง่าย ๆ หากการเผยแพร่ส่วนใหญ่ของคุณเป็นแบบข้อความและคุณไม่จำเป็นต้องจัดเก็บข้อมูลไบนารีจำนวนมาก

อย่างไรก็ตามคลังเก็บวัตถุได้รับการออกแบบเพื่อจัดเก็บไฟล์ทุกชนิดรวมถึงไบนารี ซึ่งรวมถึงอะไรก็ได้ตั้งแต่ซอร์สโค้ดซิปไปจนถึงการสร้างผลลัพธ์ไปจนถึงสิ่งต่าง ๆ เช่นรูปภาพนักเทียบท่าเช่นกัน นอกจากนี้พวกเขามักจะไม่เพียงเก็บสิ่งประดิษฐ์เหล่านี้ แต่ยังช่วยจัดการพวกเขาโดยใช้ฟังก์ชั่นเพิ่มเติมต่างๆเช่น:

  • การสนับสนุนการกำหนดรุ่น: จัดเก็บข้อมูลเมตาอย่างถูกต้องเช่นเมื่อสร้างสิ่งประดิษฐ์แต่ละรายการหมายเลขรุ่นคืออะไรเก็บแฮช ฯลฯ
  • การเก็บรักษา: ตรวจสอบให้แน่ใจว่าคุณเก็บเฉพาะสิ่งประดิษฐ์ที่สำคัญเท่านั้นและจะลบสิ่งที่เป็นภาพรวม / ไม่ต้องการอีกต่อไปโดยอัตโนมัติ ฯลฯ ตามเกณฑ์ต่างๆที่คุณสามารถตั้งค่าได้
  • การควบคุมการเข้าถึง: ตั้งค่าผู้ที่สามารถเผยแพร่และผู้ที่สามารถดาวน์โหลดสิ่งประดิษฐ์ต่างๆ
  • Promotion: ความสามารถในการส่งเสริมสิ่งประดิษฐ์ ตัวอย่างเช่นคุณสามารถมีสแน็ปช็อตส่วนที่มีระยะเวลาการเก็บข้อมูลสั้น ๆ บนเซิร์ฟเวอร์ใกล้กับตัวแปลงสัญญาณของคุณและที่เก็บแยกต่างหากใกล้กับเซิร์ฟเวอร์ที่ใช้งานจริง นอกจากนี้ยังรวมถึงการสนับสนุนช่องทางเวอร์ชั่นต่างๆและการย้ายสิ่งประดิษฐ์ระหว่างกัน (เช่นการโปรโมตเวอร์ชันเฉพาะจากเบต้าไปยังเสถียร)
  • ทำหน้าที่เป็นที่เก็บดั้งเดิมสำหรับสิ่งประดิษฐ์ หมายความว่าคุณสามารถใช้มันเป็นที่เก็บหลักสำหรับ maven, rubygems, docker, และอื่น ๆ ซึ่งอาจรวมถึงการแคชของสิ่งประดิษฐ์จากที่เก็บอย่างเป็นทางการเช่นกัน

อาจเพิ่มความสามารถ 'ช่องทาง' เหนือการสนับสนุน Versionning โดยมีความสามารถในการกำหนดเป้าหมายเครื่องรุ่นล่าสุดในช่อง "พัฒนา" และเครื่องแยงที่กำหนดเป้าหมายรุ่นเฉพาะในช่อง "เสถียร"
Tensibai

@ Pierre.Vriens เพิ่มความคิดเห็นเล็ก ๆ แต่อาจจะสามารถแก้ไขได้ในคำถามที่แยกต่างหากเช่นกัน
SztupY

Merci แต่ในกรณีที่นี่เป็นโอกาสของคุณที่จะอยู่ต่อไปความคิดเห็นเพิ่มเติมของฉัน ...
Pierre.Vriens

มันเหมาะสมหรือไม่ที่จะติดตามไฟล์การกำหนดค่าหรือการติดตั้งในแหล่งเก็บข้อมูลประเภทนี้?
tutuca

7

มีผู้จัดการพื้นที่เก็บข้อมูลและผู้จัดการพื้นที่เก็บข้อมูลแพคเกจสากล (UPM)

UPM สามารถจัดเก็บงานสร้างของคุณทั้งหมดสำหรับ Jenkins, Teamcity และอื่น ๆ และยังสามารถทำหน้าที่เป็นผู้จัดการเก็บข้อมูลสำหรับสิ่งประดิษฐ์ไบนารีหลายประเภทเช่น Maven, npm, NuGet และอีกมากมาย

เหล่านี้จะเป็นเครื่องมือเช่นJFrog Artifactory , Inedo ProgetและSonatype Nexus

การเปรียบเทียบที่ดีงามอยู่ที่นี่: https://binary-repositories-comparison.github.io/

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.