Github: เข้าถึง repo ส่วนตัวแบบอ่านอย่างเดียว


139

ฉันกำลังพัฒนาโครงการส่วนตัวบางอย่างบน Github และฉันต้องการเพิ่ม cronjobs ทุกคืนในเซิร์ฟเวอร์การปรับใช้ของฉันเพื่อดึงเวอร์ชันล่าสุดจาก Github ขณะนี้ฉันกำลังทำสิ่งนี้โดยการสร้างคู่คีย์บนเซิร์ฟเวอร์การปรับใช้ทั้งหมดและเพิ่มคีย์สาธารณะให้กับโครงการ github เป็น 'คีย์การปรับใช้'

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

มีวิธีในการให้การเข้าถึงแบบอ่านอย่างเดียวสำหรับที่เก็บส่วนตัวให้กับผู้ใช้ที่เลือกใน Github หรือไม่?


คุณต้องการจำกัด การเข้าถึงแบบอ่านอย่างเดียวใช่ไหม หากคุณต้องการเข้าถึงแบบอ่านอย่างเดียวโดยไม่ จำกัดคุณสามารถใช้git://โปรโตคอลแทนssh://( ssh+git://)
Jakub Narębski

คำตอบ:


69

ฉันมีสิทธิ์ที่ดีที่คุณลักษณะ"องค์กร"ใหม่ (ค่อนข้างใหม่) ช่วยให้คุณสามารถเพิ่มบุคคลที่มีสิทธิ์เข้าถึงแบบอ่านอย่างเดียวไปยังที่เก็บส่วนตัว


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

29
เสียดายที่คุณต้องจ่ายเงิน $ 25 / เดือนสำหรับฟีเจอร์นั้น สำหรับไซต์เล็ก ๆ ราคา $ 300 / ปีสามารถจ่ายเงินสำหรับการโฮสต์ที่อื่น ขอบคุณ @Trindaz
Joseph Lust

7
นั่นเป็นเหตุผลที่ BitBucket ไม่ใช่คนที่สองสำหรับ Github
treecoder

2
คำตอบนี้ล้าสมัยแล้ว ดูคำตอบเกี่ยวกับกุญแจปรับใช้แบบอ่านอย่างเดียว
Hauke

37

สำหรับใครก็ตามที่พบคำถามนี้รู้ว่าทุกวันนี้คุณสามารถสร้างคีย์การปรับใช้แบบอ่านอย่างเดียว:

https://github.com/blog/2024-read-only-deploy-keys

คุณยังคงสามารถสร้างคีย์การปรับใช้ด้วยการเข้าถึงการเขียน แต่ต้องให้สิทธิ์อย่างชัดเจนเมื่อเพิ่มคีย์


1

สำหรับองค์กร: ฉันขอแนะนำให้สร้างทีมใหม่โดยเฉพาะสำหรับผู้ใช้ ทีมนี้สามารถให้สิทธิ์การเข้าถึงที่เก็บแบบอ่านอย่างเดียวที่คุณระบุ ฉันหวังว่านี่จะช่วยได้!


-1

ฉันรู้ว่าคำถามเป็นเรื่องเกี่ยวกับ GitHub แต่บางทีสำหรับผู้อ่านบางคนมันจะดีที่รู้ว่านี้เป็นไปได้ใน gitlab และฟรี ตรวจสอบhttps://gitlab.com/help/user/permissions ฉันใช้เวลาในการใช้ github โดยไม่ตอบสนองวัตถุประสงค์ของฉันอย่างเต็มที่ ถ้าฉันรู้แล้วฉันจะเริ่มต้นโครงการนี้ด้วย gitlab

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