ฉันจะมี Github บนเซิร์ฟเวอร์ของตัวเองได้อย่างไร?


99

มีอะไรที่เหมือนกับ Github สำหรับเซิร์ฟเวอร์ภายในของคุณหรือไม่? ฉันอยากรู้ว่ามีสคริปต์ PHP หรือแม้แต่ไคลเอนต์เดสก์ท็อปที่เลียนแบบการทำงานของ Github ฉันชอบ Github แต่จะเป็นการดีที่จะโฮสต์บนเซิร์ฟเวอร์ของฉันเอง

ขออภัยหากไม่ถือว่าเป็นการ "เขียนโปรแกรม" เพียงพอ แต่โดยทั่วไปมีเพียงโปรแกรมเมอร์เท่านั้นที่ใช้ GIT และ Github


อัปเดต

ก่อนอื่นขอขอบคุณสำหรับข้อเสนอแนะที่ดีเยี่ยมมากที่ได้เห็นว่ามีตัวเลือกมากมาย จากสิ่งที่โพสต์ที่นี่และจาก googling ของฉันฉันสามารถพูดได้ว่าดูเหมือนว่าโซลูชัน Github ที่ดูดีที่สุด / เหมือนกันมากที่สุดนั้นมีรหัสเป็น Ruby ซึ่งดีมากสำหรับบางคน แต่ฉันเป็นคนประเภท PHP (ตอนนี้)

ผู้ชม PHP GIT ส่วนใหญ่เป็นโปรเจ็กต์ที่ล้าสมัยและถูกละทิ้งหรือดูเหมือนเรื่องไร้สาระ (ฉันรู้ว่าฉันสามารถแก้ไขให้เป็นเหมือน Github ได้มากขึ้น) แต่ฉันเจออะไรบางอย่างใน PHP ที่มีแนวโน้มดีจนถึงตอนนี้ เรียกว่า Glip อยู่ใน Github ที่นี่https://github.com/patrikf/glipและสำหรับฉันแล้วมันเป็นโซลูชันที่น่าสนใจและใช้งานง่ายที่สุดที่ฉันพบสำหรับ PHP จนถึงตอนนี้ สำหรับผู้ใช้ Git ขั้นสูงอาจไม่เพียงพอ แต่สำหรับฉันฉันแค่ต้องการดู git repo และมีฟังก์ชันนั้นให้

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


1
ทำไมคุณถึงต้องการโฮสต์บนเซิร์ฟเวอร์ของคุณเอง? เซิร์ฟเวอร์ของ Github มีความรวดเร็วและเชื่อถือได้
maček

59
อาจเป็นเพราะเขาไม่ต้องการใช้บริการของบุคคลที่สาม มีบางอย่างที่ต้องพูดเพื่อให้ข้อมูลของคุณอยู่กับตัวเอง
Noufal Ibrahim

1
ส่วนใหญ่ฉันสามารถเรียกใช้จากเซิร์ฟเวอร์ dev ของฉัน
JasonDavis

คุณไม่สามารถมี github ได้ แต่คุณสามารถใช้ git hosting script เช่น gitolite, gitosis หรือ gitorious
CodesInChaos

8
หรืออาจเป็นเพราะ Microsoft ซื้อ Github
keji

คำตอบ:


75

มีGitHub Enterpriseเพื่อตอบสนองความต้องการของคุณ และมีโอเพ่นซอร์ส "โคลน"ของ Github Enterprise

PS: ตอนนี้ Github มีที่เก็บส่วนตัวไม่ จำกัดbitbucketก็ทำเช่นเดียวกัน คุณสามารถลองทั้งสองอย่าง มีวิธีแก้ปัญหาอื่น ๆ อีกมากมายเช่นกัน


1
เพิ่งรู้ว่ามันคือ Ruby มันก็ดีจริงๆ
JasonDavis

11
คุณสามารถเรียกใช้ GitLab ได้ฟรีบนเซิร์ฟเวอร์ของคุณเอง GitHub Enterprise มีค่าใช้จ่ายจำนวนมาก
งาน

GiteaและGogsดูเหมือน GitHub คำตอบของคุณมาจากปี 2011 และดูเหมือนจะล้าสมัย
SomethingSomething

31

ฉันไม่มีใครแปลกใจมากที่กล่าวถึงมาเปิดโครงการgogs (http://gogs.io) หรือส้อมมาของมันเรียกว่าgitea (http://gitea.io)ซึ่งโดยทั่วไปมีสิ่งที่เหมือนกัน gitlab ไม่ แต่กับ ทรัพยากรระบบน้อยที่สุด (พื้นที่น้อย) เหมาะอย่างยิ่งที่จะรันใน Raspberry Pi การติดตั้งและการบำรุงรักษาก็ง่ายกว่าเช่นกัน



12

คุณมีตัวเลือกมากมายในการเรียกใช้เซิร์ฟเวอร์ git ของคุณเอง

  1. เซิร์ฟเวอร์ Bitbucket

    Bitbucket Server ไม่ฟรี แต่ไม่มีค่าใช้จ่าย เสียค่าใช้จ่ายเพียงครั้งเดียว (10 $ ณ ตอนนี้) Bitbucket เป็นตัวเลือกที่ดีหากคุณต้องการโซลูชันที่ยาวนาน

  2. Gitea ( https://gitea.io/en-us/ )

    Gitea เป็นโครงการโอเพ่นซอร์ส มันข้ามแพลตฟอร์มและน้ำหนักเบา คุณสามารถใช้ได้โดยไม่เสียค่าใช้จ่ายใด ๆ เดิมแยกมาจาก Gogs ( http://gogs.io ) เป็นโซลูชันโฮสติ้งโค้ดน้ำหนักเบาที่เขียนด้วย Golang และเผยแพร่ภายใต้ใบอนุญาต MIT ทำงานบน Windows, macOS, Linux, ARM และอื่น ๆ

  3. โกกส์ ( http://gogs.io )

    Gogs เป็นโปรเจ็กต์โอเพ่นซอร์สที่โฮสต์เองและมีดาวประมาณ 32k ดาวบน github คุณสามารถตั้งค่า Gogs ได้โดยไม่มีค่าใช้จ่าย

  4. GitLab ( https://gitlab.com/ )

    GitLab เป็นซอฟต์แวร์โอเพ่นซอร์สฟรีและซอฟต์แวร์ Git-repository Manager บนเว็บ มีวิกิการติดตามปัญหาและคุณสมบัติอื่น ๆ เดิมรหัสนี้เขียนด้วย Ruby โดยมีบางส่วนเขียนใหม่ใน Golang ในภายหลัง GitLab Community Edition (CE) เป็นแพลตฟอร์มการพัฒนาซอฟต์แวร์แบบ end-to-end แบบโอเพนซอร์สที่มีการควบคุมเวอร์ชันในตัวการติดตามปัญหาการตรวจสอบโค้ด CI / CD และอื่น ๆ โฮสต์ GitLab CE ด้วยตนเองบนเซิร์ฟเวอร์ของคุณเองในคอนเทนเนอร์หรือบนผู้ให้บริการระบบคลาวด์

  5. GNU Savannah ( https://savannah.gnu.org/ )

    GNU Savannah เป็นซอฟต์แวร์ฟรีและโอเพ่นซอร์สจาก Free Software Foundation ปัจจุบันมีบริการ CVS, GNU arch, Subversion, Git, Mercurial, Bazaar, รายชื่ออีเมล, เว็บโฮสติ้ง, โฮสต์ไฟล์และบริการติดตามข้อบกพร่อง อย่างไรก็ตามซอฟต์แวร์นี้ไม่เหมาะสำหรับผู้ใช้ใหม่ ใช้เวลาเล็กน้อยในการตั้งค่าและเชี่ยวชาญทุกอย่างเกี่ยวกับเรื่องนี้

  6. GitPrep ( http://gitprep.yukikimoto.com/ )

    GitPrep คือ Github clone คุณสามารถติดตั้งระบบ GitHub แบบพกพาลงใน UNIX / Linux คุณสามารถสร้างผู้ใช้และที่เก็บได้โดยไม่มีข้อ จำกัด นี่เป็นซอฟต์แวร์ฟรี

  7. Kallithes ( https://kallithea-scm.org/ )

    Kallithea ซึ่งเป็นโครงการสมาชิกของ Software Freedom Conservancy เป็นระบบจัดการซอร์สโค้ดซอฟต์แวร์ฟรีของ GPLv3 ที่รองรับระบบควบคุมสองเวอร์ชันชั้นนำ Mercurial และ Git และมีเว็บอินเตอร์เฟสที่ใช้งานง่ายสำหรับผู้ใช้และผู้ดูแลระบบ คุณสามารถติดตั้ง Kallithea บนเซิร์ฟเวอร์ของคุณเองและที่เก็บโฮสต์สำหรับระบบควบคุมเวอร์ชันที่คุณเลือก

  8. Tuleap ( https://www.tuleap.org/ )

    Tuleap คือการพัฒนาซอฟต์แวร์และการจัดการที่คล่องตัว All-in-one, Open Source 100% คุณสามารถติดตั้งบนเซิร์ฟเวอร์ Docker หรือ CentOS

  9. Phacility ( https://www.phacility.com/ )

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


10

มีทางเลือกโอเพนซอร์สบางตัว:

  • http://rhodecode.com/ (ดำเนินการใน Python)
  • http://gitlabhq.com/ (ใช้งานใน Ruby on Rails)

1
ปัจจุบัน RhodeCode ไม่ได้ใช้งาน Mercurial เป็นส่วนใหญ่ฟังก์ชัน git vs mercurial คือ 1: 1
marcinkuzminski

2
Rhodecode ไม่ใช่โอเพ่นซอร์สจริงๆ GitLab คือ MIT
งาน


5

หากคุณต้องมี GitHub จะมีเวอร์ชันสำหรับองค์กรตามที่กล่าวไว้แล้ว

หากคุณต้องการมองหาทางเลือกอื่นสำหรับการเรียกใช้เซิร์ฟเวอร์ git ส่วนกลางสำหรับ บริษัท ของคุณคุณสามารถลองใช้ Gitolite

https://github.com/sitaramc/gitolite
https://github.com/sitaramc/gitolite/wiki/


ขอบคุณฉันชอบรูปลักษณ์ของ Github ไม่จำเป็นต้องเป็น github
JasonDavis

4

ฉันค้นหาการใช้งาน git PHP ด้วย แต่ไม่มีผลลัพธ์ วิธีเดียวที่จะสร้างใหม่อีกครั้งเว็บไซต์ที่คล้ายกับ GitHub คือการติดตั้ง "ของจริง" เซิร์ฟเวอร์คอมไพล์บนเซิร์ฟเวอร์ของคุณเองแล้วใช้โปรแกรมเว็บคอมไพล์ PHP เช่นhttp://www.xiphux.com/programming/gitphp/

โชคไม่ดีที่คุณอาจลืมทำสิ่งนี้ด้วยโซลูชันการโฮสต์ คุณต้องการเซิร์ฟเวอร์เสมือนจริงที่คุณสามารถติดตั้งทุกสิ่งที่คุณต้องการ

อย่างไรก็ตามหากคุณต้องการสถานที่ที่จัดเก็บรหัสส่วนบุคคลที่ไม่ใช่สาธารณะและทุกคนไม่สามารถเข้าถึงได้สำหรับโครงการคุณสามารถลองใช้ BitBucket ให้บริการ repos git ส่วนตัวและส่วนตัวฟรี


ในขณะนี้ฉันต้องการเซิร์ฟเวอร์ dev ของฉันเป็นส่วนใหญ่ดังนั้นนี่อาจจะดี
JasonDavis

4

Atlassian's Stash (ปัจจุบันเรียกว่า BitBucket Server)กำลังจะเป็นทางเลือกที่ดีของ Github Enterprise ฉันเป็นพวกจิราโสเภณีดังนั้นฉันจึงชอบการผสมผสานที่คุณมีกับสิ่งนั้น


9
คุณคือ JIRA อะไรนะ?
Ruby Racer

@RubyRacer ฉันเดาว่าน่าจะเป็นใคร :)
Alex Ivasyuv

// ยกเว้นว่าคุณไม่สามารถยกเลิกการรวม PRs ได้ ซึ่งคุณสามารถทำได้ใน GH ต้องขอบคุณ Stash เป็นระยะ ๆ ฉันจะเสียเวลาประมาณ 8 ชั่วโมงไปตลอดชีวิตจากการทำสัญญากับผู้ผลิตรถยนต์ไฮเทครายใหญ่
Nathan Basanese

3

ใช่มี GitHub Enterprise :)

https://enterprise.github.com

ปัญหาเดียวคือมันแพงไปหน่อย :(


1
การอัปเดตปี 2020 - ขณะนี้คุณมีผู้ทำงานร่วมกันไม่ จำกัด ในที่เก็บส่วนตัวซึ่งเป็นส่วนหนึ่งของแผน GitHub Free ของคุณ ราคารายเดือนสำหรับแผน Pro ของเราลดลงจาก $ 7 / เดือนเหลือ $ 4 / เดือน ราคารายเดือนสำหรับแผนทีมแบบชำระเงินของเราลดลงจาก $ 9 / ผู้ใช้เป็น $ 4 / ผู้ใช้
warfish

3

ฉันลองgitosisที่เป็นบรรทัดคำสั่งอย่างสมบูรณ์ และฉันเลือกอันนี้

ในฐานะที่เป็นคนชวาฉันก็สนใจGitblitด้วย


2

คุณกำลังมองหาคุณสมบัติอะไรใน GitHub?

หากคุณไม่ต้องการการทำงานร่วมกันให้ดึงคำขอ ฯลฯ แต่ต้องการให้ที่เก็บของคุณสามารถดูได้git instawebจะสร้างบางสิ่งให้คุณ


ใช่ฉันค่อนข้างเหมือนกับที่สามารถเรียกดูซอร์สโค้ดได้อย่างง่ายดาย
JasonDavis

Git instaweb ควรจะเพียงพอแล้ว คุณจะได้รับรายละเอียดมากกว่ามุมมองเริ่มต้นของ github แต่เป็น "web 2.0" น้อยกว่า
Noufal Ibrahim


2

Community Edition ไม่มีคุณสมบัติการนำเข้ามากมายเช่น hooks ผมขอแนะนำให้Gerrit มีน้ำหนักเบาและโอเพ่นซอร์ส



1

คุณสามารถเรียกใช้ Git (ไม่ใช่ Github ทั้งหมด) ผ่าน Apache HTTP Server เพื่อให้คุณโฮสต์ Git repo บนระบบไฟล์ของเซิร์ฟเวอร์และเปิดเผยผ่าน HTTP คุณได้รับฟังก์ชัน Git ทั้งหมด แต่แน่นอนว่าคุณจะไม่สามารถpull-requestหรือติดตามปัญหาได้ เครื่องมือใด ๆ ที่แนบมากับ Git repo ที่โฮสต์เองสามารถใช้คุณลักษณะที่เหลือได้

อ้างอิง: http://git-scm.com/docs/git-http-backend


หากทำได้ฉันขอแนะนำเส้นทางนี้เป็นอย่างยิ่ง การโฮสต์บริการด้วยตัวคุณเองคุณไม่ได้ขึ้นอยู่กับบุคคลที่สาม
ฟิล

0

นอกจากนี้คุณสามารถติดตั้งTrac เป็นมากกว่าเซิร์ฟเวอร์ Git แต่มีคุณสมบัติอื่น ๆ เช่นการจัดการตั๋วและการจัดการโครงการ นอกจากนี้ยังมีความเป็นไปได้ที่จะขยายผ่านปลั๊กอิน

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