Bitbucket, Github, Kiln ve benzeri DVCS tarama ve yönetim araçlarına açık kaynaklı alternatifler var mı? [kapalı]


68

DVBS tarama ve Bitbucket , Github , Kiln , SCM-Manager ve Rhodecode gibi yönetim sağlayan çeşitli araç / hizmetlerin farkındayım .

Ancak, düşündüğüm kullanım örneği şöyledir:

  1. Herhangi bir kaynak kodu bir işverenin dahili sunucularında bulunmalıdır.
  2. Çözüm açık kaynak olmalı.
  3. Bir proje wiki, havuz tarama ve yönetimi ve kod incelemesi gibi sosyal kodlama özellikleri dahil, bir Bitbucket veya Github benzeri deneyim sağlamalıdır.
  4. Çözümün ticari desteği olmalı (diğer DVCS'leri desteklemiyorsa).

Bunlardan sadece SCM-Manager ve RhodeCode kendi sunucularınıza kurulabildiklerinden ve açık kaynaklı olduklarından yaklaşıyorlar. Ancak Bitbucket veya Github deneyimine sahip değiller. Sorun izci veya wiki yok ve UI işlevsel olsa da Github veya Bitbucket ile aynı değil.

Havuz tarayıcılarıyla Trac veya Redmine ile yakınlaşabiliyorum, ancak ne yazık ki depo yönetimi yeteneklerine sahip değiller.

Bitbucket, Github veya Kiln'e benzer bir deneyim sağlayacak başka açık kaynak araçları var mı?


4
GitHub Enterprise, dahili ağda çalışır. enterprise.github.com


4
@sylvanaar Bildiğim kadarıyla redmine depo yönetimi yetenekleri sağlamaz, sadece depo taramasını sağlar.
Ryan Taylor

3
gitlabhq.com GitHub'a gördüğüm en yakın olan
Andrew T Finnell

8
Yeniden açmaya oy verdim. Bu oldukça popüler bir soru. Neden kapattın? En azından başka bir yere götürebilir miyiz?
William Leara

Yanıtlar:


31

Ben ediyorum Fosil bakabilirsiniz. Görünüşe göre, sqlite geliştiricileri içten kullanan sistemdir. Aynı zamanda iyi ve sağlam bir teknoloji olan sqlite'ı kullanır ... güzel ve taşınabilir - aynı zamanda basit ve güvenilir.

Bu bir iyi vardır sade eğer kullanıcı arayüzü (sanırım açıkladığınız gibi bir verimlilik odaklı hedefe doğasını behooves). ("Gri" temasını kontrol ettiğinizden emin olun. Varsayılan "temanın" dan çok daha az "yönlendirici-yönetici" dir.) Eğer öyle diyebilirseniz.) tabanlı sistem, CGI için enayi olduğum için. Bu mirasın sonuçları aslında çok ilginç, çünkü bu sistem her türlü ilginç uygulama imkanına sahip çok özel bir JSON-ONLY moduna sahip.

Ondan bahsediyorlar - ama 0 bağımlılığı olduğunu tekrar etmeye değer. PHP yok, mySQL yok, python yok. Nada. Kendi ikili çalıştırılabilir dosyasıdır ve birçok platformda çalışır. Aynı şekilde daha fazla projeye "düşünce" diliyorum.

Onlara bağlı değilim, bu yüzden açılış sayfalarına yapılan alıntıları alıntılayacağım , bu da genellikle aynı fikirdeyim .. ayrıca soru ve eleştirilere de bir göz atalım ..

Hata İzleme ve Wiki - Git ve Mercurial gibi dağıtılmış sürüm kontrolü yapmanın yanı sıra, Fossil ayrıca tümleşik tek bir pakette dağıtılmış hata izleme, dağıtılmış wiki ve dağıtılmış bir blog mekanizması destekler.

Web Arayüzü - Fossil, proje takibini basitleştiren ve durumsal farkındalığı destekleyen yerleşik ve kullanımı kolay bir web arayüzüne sahiptir. Herhangi bir check-out içinden "fossil ui" yazmanız yeterlidir ve Fossil web tarayıcınızı otomatik olarak o projeyle ilgili ayrıntılı grafik geçmişi ve durum bilgisi veren bir sayfada açar.

Autosync - Fosil, genellikle dağıtılmış projelerle ilişkilendirilen gereksiz çatallama ve birleştirme miktarını azaltarak projelerin ilerlemesini sürdürmeye yardımcı olan "autosync" modunu destekler.

Müstakil - Fosil, yapılandırma yönetimi için gereken her şeyi içeren tek başına bir yürütülebilir dosyadır. Kurulum çok önemlidir: Linux, Mac veya Windows için önceden derlenmiş bir ikili dosya indirin ve $ PATH'inize koyun. Derlemesi kolay kaynak kodu, diğer platformlardaki kullanıcılar için kullanılabilir. Fosil kaynakları da çoğunlukla “zlib” kütüphanesini ve standart C kütüphanesini inşa etmeyi gerektiren kendi kendine yetmektedir.

Basit Ağ İletişimi - Fosil, tüm ağ iletişimleri için düz eski HTTP (proxy destekli) kullanır, yani kısıtlayıcı güvenlik duvarlarının arkasından iyi çalışır. Protokol, Fossil'in çevirmeli ağ bağlantısı üzerinden rahatça kullanılabileceği noktaya kadar bant genişliği sağlar.

CGI Etkin - Fosili kullanmak için sunucuya gerek yoktur. Ancak bir sunucu işbirliğini kolaylaştırır. Fosil, üç farklı ancak basit sunucu yapılandırmasını destekler. En popüler 2 satırlık bir CGI betiğidir. Bu, kendini barındıran fosil depoları tarafından kullanılan yaklaşımdır.

Sağlam ve Güvenilir - Fosil, bir SQLite veritabanında kalıcı bir dosya formatı kullanarak içerik depolar; böylece bir güç kaybı veya sistem çökmesiyle kesintiye uğrasa bile işlemler atomik olur. Ayrıca, otomatik otomatik kontroller, havuzun tüm yönlerinin her işlemden önce tutarlı olduğunu doğrular. Üç yıldan fazla süren operasyonlarda, bir Fosil deposuna taahhüt edildikten sonra hiçbir iş kaybedilmedi.

Güncelleme: Arayüze aldatma yerine, işte hızlı bir atış… Gördüğünüz gibi, kesinlikle basit .. Ama aynı zamanda özelleştirme için temiz bir sayfa anlamına gelir .. Sadece tek bir stil sayfası ve bir başlık / altbilgi / vücut tipi şablonlama sistemi. Kısa bir hikaye yazmak, başkasının kitabını yeniden yazmaktan daha iyi, IMO.

fosil kullanıcı arayüzü


3
Fosil için +1. Onu burada yoğun olarak işyerinde kullandım ve gördüğüm tek "olumsuz", kaplumbağa (git / hg / svn) 'ın uyduğu bölge. Ancak, winfossil projesi var. Fosilin içinde barındırılan bir projedeki web arayüzüne bakmak istiyorsanız fosilde barındırılır.
Spencer Rathbun

1
Fosil kesinlikle harika. Nadiren kullandığım şey, ama gerçek bu.
haylem

16

Gitorious açık kaynaklıdır ve Gitorious topluluğu tarafından sağlanan komut dosyalarını kullanarak kendi sunucunuza yükleyebilirsiniz (bkz. Http://www.getgitorious.com/installer ). Gitorious, artık wikiler ve sorun takibi için desteğe sahiptir. Hızlı bir şekilde çalışmasını sağlamak için kullanılabilir bir Docker görüntüsü de vardır .

Başka bir seçenek olacaktır Gitlab temelde gitorious olarak değil olgun bir GitHub klonu, ancak aylık bültenleri ile ağır gelişim altında.

Ayrıca burada daha fazla seçenek kontrol etmek isteyebilirsiniz


Gitorious'un kurulum süreci basitleştirildi. Yükleme komut dosyasını ( getgitorious.com/installer ) kullanabilir veya sanal kutu görüntüsünü çalıştırmaya hazır hale getirebilirsiniz ( getgitorious.co/install-gitorious )
Peter Butkovic 10:13


8

Kısıtlamalarınız oldukça spesifik, ancak ChiliProject + eklentileri ile aradığınız sonuçları alabileceğinizi düşünüyorum .

ChiliProject, Ruby / Rails'in güncellenmiş versiyonlarını kullanan bir Redmine çatalıdır. Git ve mercurial'ı çok iyi destekler ve taahhüt mesajlarını ayrıştırmak istediğiniz gibi göründüğü Github Issues işlevselliğini çoğaltır (yani, refs 291bir taahhütte bir taahhüt # 291 ile bağlantılıdır).

Ayrıca, kod incelemesi, sözdizimi vurgulaması ve Github, vb. Açık kaynaklı rakiplerde açıkça bulunmayabilecek durumda olduğu gibi özellikler sağlayan Redmine / ChiliProject eklentileri de vardır .

Başka seçenekler de var, JIRA, vb., Ancak bunlar (IMHO), ChiliProject Redmine çatalı + mevcut eklentilerin sağladığı işlevsellikten başka bir işlevsellik ya da işlevsellik sağlamaz. Github ve / veya BitBucket'in sizin için ChiliProject'in (muhtemelen serbestçe kullanılabilen eklentileri olan) yapamadığı bir şey yoktur; ve güzellik, eğer zaten mevcut değilse, onu kendiniz uygulamak genellikle oldukça önemsizdir.

Bu ihtiyacınız olandan daha fazla gibi geliyorsa ... Henüz denemedim, ama GitLab da ilginç görünüyor ... Redmine / Chili'in genişletilebilirliği veya eklenti mimarisine sahip görünmüyor, fakat arıyorsanız Çekirdek özellik kümesinin çoğuna sahip bir açık kaynaklı Github klonu için (ve birden fazla DVCS'yi desteklemeniz gerekmez), oldukça iyi görünüyor.


Buna ek olarak, web tabanlı kaynak kontrol yönetimi araçlarına ihtiyacınız varsa ... Gitosis'i Redmine / ChiliProject ile başarılı bir şekilde kullandım ... Mercurial için eşdeğer olduğundan emin değilim, ancak eklemek oldukça önemsiz olmalı.
Jason Lewis

Güncelleme: versiyonlarını Raylar kadar güncel Redmine da kullandığı Redmine 2'den itibaren (eğer Raylar 3 demek ise)
Alternatif

7

Allura http://sf.net/p/allura faturaya uygun olmalı. SourceForge'daki tüm yeni (veya yükseltilmiş) projeler için bir platformdur ve açık kaynaktır. Mercurial ve wiki'leri ve ayrıca birçok aracı (Git, SVN, bilet takipçisi, forumlar, vb.) Destekler. Oldukça "kod incelemesi" yok, ancak Mercurial ve Git depoları için istekte bulunan çatal ve isteklerinizi destekliyor.

Python ile yazılmış ve veri depolama için MongoDB ve Solr kullanır.

Allura şu anda Apache Incubator'da: http://incubator.apache.org/projects/allura.html

SourceForge için çalışıyorum ve Allura'nın geliştirilmesine yardım ediyorum.


6

İşte tam olarak aynı konu için, aşağıdakilerden oluşan bir ekosistem kullanıyoruz:

  • Sorun takibi için Redmine
  • Depo yönetimi için RhodeCode
  • Sürekli entegrasyon ve dağıtım için Jenkins (ayrıntılı bir şekilde izinleri verebilecek dağıtım ve yükseltme görevlerimiz var ve denetim izini ücretsiz alabilirsiniz)
  • Kimlik doğrulama için Active Directory (yukarıdakilerin tümü sorunsuz bir şekilde bütünleşebilir)

Redmine'deki DVCS entegrasyonu sonraki sürümlerde sıçramalar ve sınırlamalar ile gelişti, birkaç hafta önce yükselttim ve "gotcha" ların çoğunun gittiğinden çok memnunum.

Redmine ve RhodeCode sunucularını aynı ana bilgisayarda çalıştırıyorum çünkü Redmine henüz uzak HG depolarını desteklemiyor. Jenkins diğer birkaç ana bilgisayarda çalışıyor.

Redmine'da mercurial çekmeleri tetiklemek için RhodeCode kancası kullanıyorum. JENKINS-13717 yüzünden Jenkins için bir kanca kullanamıyorum , ama bunun için bir düzeltme eki gönderdim ve sanırım oldukça hızlı kabul edilecek. Bu arada, birkaç dakikada bir HG depolarını sorguladım.

Her şey, SSL sonlandırması almak için Debian 6.0'ın Nginx ters proxy'si üzerinde çalışıyor (bunların tümü yalnızca SSL üzerinden kullanılıyor). Son zamanlarda, tüm paket şimdiye dek mükemmel sonuçlarla sanallaştırmak için bir ProxMox kümesine taşındı . Ürünü tanımıyorsanız, bir göz atmalısınız. " Bunun var olduğuna inanamıyorum ve bunu bilmiyordum ve OMG de açık kaynak! " Bu hizmetleri donanım onarımları / yükseltmeleri için bir ana bilgisayardan diğerine kolayca geçirilen OpenVZ kaplarında kullanıyoruz. Aynı kümede, aynı zamanda Windows platformlarında otomatik testler yapmak için bir grup KVM sanal makinesi çalıştırdık.

Bu ekosistemden son derece memnunum. Dev / QA ekibimizin sorunları yeniden üretme ve değişiklikleri büyük bir farkla takip etme yeteneğini geliştirdi. Sadece birkaç uyarı:

  • Rhodecode ile giderseniz, SQLite üzerinde ayarlama. MySQL veya başka bir gerçek DBMS kullanın. Bu durumdan sonra gerçekten geçirgen değildir ve SQLite bir seferde sadece 1 bağlantı kurar, bu da komik kilitler ve zaman aşımları ile sonuçlanır (bakınız RhodeCode's # 439 ). Jenkins, arada bir hata mesajı alırken sürekli olarak repo'yu sorguladığında acı verici olur (yukarıdaki Jenkins sorunuyla ilgili yoruma bakın).
  • Mercurial'da "132" sayısının, ağdaki herkes için hiçbir şey ifade etmeyeceği ve bu rakamların yalnızca yerel olduğu anlamına gelemeyeceğini gerçekten söyleyemezsiniz . Redmine biletlerinin içindeki değişiklik setleri hakkında konuşurken, ya repo tarayıcısından alabileceğiniz yerel revizyon numarasını kullanın (bu, aynı makinede çalıştıkları için RhodeCode ve Redmine'da aynıdır) veya kullanın commit:abcd1234.

Son derece memnun olduğum için bu kurulumu tavsiye etmekte tereddüt etmiyorum. Belirli bir hizmeti yapılandırma konusunda yardıma ihtiyacınız varsa veya yapılandırma dosyalarıma bakmak istiyorsanız sormaktan çekinmeyin.


2

Cydra bir göz atın: https://github.com/mensi/cydra o desteği vardır

  • Yıkılma (HTTP)
  • Git (ayrı bağlantı noktasında HTTP ve SSH)
  • Mercurial (HTTP)
  • Trac

Bir proje oluşturmanıza ve kendisine birden fazla havuz (en fazla bir SVN deposu) atamanıza izin veren proje tabanlı bir yaklaşım üzerinde çalışır. Auth tek tek eklentilere dayanır (onu ldap'ımıza entegre ettik).

Bizim için kullanmak https://code.vis.ethz.ch kodlama platformu. Şu anda kod incelemesi için herhangi bir destek yoktur, ancak kolayca bir eklenti olarak eklenebilir.

Yeterli itibarımız olmadığı için ekran görüntüsü gönderemiyorum.


1
Cydra projesi, birkaç ay önce henüz başlatılmamış gibi görünüyor ve çok aktif bir şekilde gelişmiş görünmüyor. Bahsetmek biraz olgunlaşmamış olabilir.
R0MANARMY

Evet haklısın. Ama sonra bir kod barındırma platformu gibi bir şey ayarlamak istiyorsanız, kendiniz bir çok şeyi kendiniz özelleştirmek isteyebilirsiniz.
Pascal,

2

Gereksinimlerinizin çoğunu karşıladığından, GitLab https://about.gitlab.com/ adresini kullanın .

  1. Yerinde kurabilirsiniz
  2. MIT expat lisanslı
  3. Bir wiki (git tarafından desteklenir), havuz tarama, ayrıntılı erişim yönetimi (çoklu erişim seviyeleri, korumalı şubeler, ldap entegrasyonu, vb.) Ve kod inceleme ve tartışma için birleştirme istekleri (satır yorumları dahil) vardır.
  4. Mercurial'ı değil sadece git'i destekliyor

Aynı zamanda iyi bir sorun izci var ya da harici bir sorun izci bağlayabilirsiniz. Birleştirme taleplerinizi isterseniz GitLab CI ile test edebilirsiniz. GitLab hızla büyüyor ve 25.000'den fazla kuruluş tarafından kullanılıyor.

Açıklama: GitLab BV'nin CEO ve kurucu ortağıyım.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.