Bitbucket、Github、Kiln、および同様のDVCSブラウジングおよび管理ツールに代わるオープンソースの代替手段はありますか?[閉まっている]


68

BitbucketGithubKilnSCM-ManagerRhodecodeなど、DVCSブラウジングと管理を提供するいくつかのツール/サービスを認識しています。

しかし、私が検討しているユースケースは次のようなものです:

  1. すべてのソースコードは、雇用主の内部サーバーに存在する必要があります。
  2. ソリューションはオープンソースでなければなりません。
  3. プロジェクトwiki、リポジトリの参照と管理、コードレビューなどのソーシャルコーディングの側面など、BitbucketまたはGithubのようなエクスペリエンスを提供する必要があります。
  4. ソリューションには、水銀のサポートが必要です(他のDVCSをサポートしていない場合)。

これらのうち、SCM-ManagerとRhodeCodeのみが、独自のサーバーにインストールでき、オープンソースであるため、近づいています。ただし、BitbucketやGithubの経験はありません。課題トラッカーやウィキはありません。UIは機能的ですが、GithubやBitbucketに匹敵しません。

リポジトリブラウザでTracまたはRedmineに近づくことができますが、残念ながらリポジトリ管理機能はありません。

Bitbucket、Github、またはKilnと同様のエクスペリエンスを提供する他のオープンソースツールはありますか?


4
GitHub Enterpriseは、内部ネットワークで実行されます。enterprise.github.com


4
@sylvanaar私の知る限り、redmineはリポジトリ管理機能を提供せず、リポジトリ参照のみを提供します。
ライアンテイラー

3
gitlabhq.comは私がGitHubに見た中で最も近いです
アンドリューTフィンネル

8
再開することに投票します。これは非常に人気のある質問です。なぜ閉じますか?少なくとも他の場所に移行できますか?
ウィリアムリーラ

回答:


31

私は考え化石を見てみましょう。 明らかに、sqliteの開発者が内部的に使用するシステムです。また、sqliteを使用します。これは優れた堅牢な技術です...素晴らしく、移植性があり、シンプルで信頼性が高いです。

厳格なユーザーインターフェースがあれば、それは良いと思います(これは、あなたが説明したような生産性指向の目標の性質に起因すると思います)。((「グレー」テーマを確認してください。デフォルトの「テーマ」よりも「ルーター管理者」のほうがずっと少ないです。それを呼び出すことができれば))ベースのシステム、私はCGIの吸盤だからです。このシステムには非常にユニークなJSON-ONLYモードがあり、あらゆる種類の興味深い実装可能性があるため、その遺産の結果は実際には非常に興味深いものです。

彼らはそれについて言及していますが、依存関係がゼロであることを繰り返す価値があります。php、mySQL、pythonはありません。N。独自のバイナリ実行可能ファイルであり、多くのプラットフォームで動作します。もっと多くのプロジェクトが同じように「考え」られることを望みます。

私は彼らと提携しておりませんので、単に彼らのオープニングページを引用しますextolations一般的に、私も見とる..に同意する、質問&批判を ..

バグ追跡とWiki-GitやMercurialなどの分散バージョン管理に加えて、Fossilは分散バグ追跡、分散wiki、分散ブログメカニズムもすべて単一の統合パッケージでサポートしています。

Webインターフェース-Fossilには組み込みの使いやすいWebインターフェースがあり、プロジェクトの追跡を簡素化し、状況認識を促進します。チェックアウト内から「fossil ui」と入力するだけで、Fossilは自動的にWebブラウザーをページで開き、そのプロジェクトの詳細なグラフィック履歴とステータス情報を提供します。

自動同期-Fossilは、「自動同期」モードをサポートします。これは、分散プロジェクトに関連することが多い不必要な分岐およびマージの量を削減することにより、プロジェクトの前進を支援します。

自己完結型-Fossilは、構成管理に必要なすべてを含む単一のスタンドアロン実行可能ファイルです。インストールは簡単です。Linux、Mac、またはWindows用のコンパイル済みバイナリをダウンロードして、$ PATHに配置するだけです。他のプラットフォームのユーザーは、簡単にコンパイルできるソースコードを利用できます。Fossilソースもほとんどが自己完結型であり、ビルドに必要なのは「zlib」ライブラリと標準Cライブラリのみです。

シンプルなネットワーク-Fossilは、すべてのネットワーク通信にプレーンな古いHTTP(プロキシサポート付き)を使用します。つまり、制限されたファイアウォールの背後からでも正常に動作します。このプロトコルは、Fossilをダイヤルアップインターネット接続で快適に使用できるという点で、帯域幅効率に優れています。

CGIが有効-fossilを使用するためにサーバーは必要ありません。ただし、サーバーはコラボレーションを容易にします。Fossilは、3つの異なるサーバー構成をサポートしています。最も一般的なのは2行のCGIスクリプトです。これは、セルフホスティングの化石リポジトリで使用されるアプローチです。

堅牢で信頼性-Fossilは、停電やシステムクラッシュによって中断された場合でもトランザクションがアトミックであるように、SQLiteデータベースに永続的なファイル形式を使用してコンテンツを保存します。さらに、自動セルフチェックは、各コミットの前にリポジトリのすべての側面が一貫していることを確認します。3年以上の運用で、Fossilリポジトリにコミットされた後、作業が失われることはありません。

更新:インターフェースをほのめかす代わりに、ここに簡単なショットを示します…ご覧のとおり、間違いなくシンプルです。テンプレートシステム。他の人の本であるIMOを書き換えるよりも、短編小説を書く方が良いでしょう。

化石UI


3
化石の+1。私はここで仕事で広範囲に使用しましたが、私が見た唯一の「欠点」は、カメ(git / hg / svn)が適合するゾーンです。ただし、winfossilプロジェクトがあります。化石自体以外のプロジェクトのWebインターフェースを確認したい場合は、化石でホストされています。
スペンサーラスブン

1
化石は本当に素晴らしいです。私が使うものはめったにありませんが、それは真実です。
ヘイレム

16

Gitoriousはオープンソースであり、Gitoriousコミュニティエディション(http://www.getgitorious.com/installerを参照)が提供するスクリプトを使用して、独自のサーバーにインストールできます。GitoriousはWikiと問題追跡をサポートするようになりました。また、すぐに実行するために利用可能なDockerイメージもあります。

別のオプションはGitlabで、これは基本的にGitHubクローンであり、成熟したものほど成熟していませんが、毎月のリリースで大いに開発中です。

こちらのオプションもご覧ください


Gitoriousのインストールプロセスが簡素化されました。あなたは、インストールスクリプト(いずれかを使用できgetgitorious.com/installerの)またはのために行く(VirtualBoxのイメージを実行する準備ができてgetgitorious.co/install-gitorious
ピーター・Butkovic

コードがで発見されgitorious.org/gitorious/mainline
Demz

8

制約は非常に具体的ですが、ChiliProject +プラグインで求める結果を得ることができると思います。

ChiliProjectは、Ruby / Railsの更新バージョンを使用するRedmineのフォークです。これはgitとmercurialを非常によくサポートし、コミットメッセージを解析することで、探しているように見えるGithub Issues機能を複製します(つまり、refs 291コミットではコミットをissue#291にリンクします)。

また、コードレビュー、構文の強調表示、Githubなどが提供する、オープンソースの競合他社では明らかにまたは容易に利用できないかもしれないその他の便利な機能を提供するRedmine / ChiliProject プラグインもあります。

JIRAなど、他のオプションもありますが、それら(IMHO)は、RedmineのChiliProjectフォーク+多数の利用可能なプラグインが提供する柔軟性または豊富な機能を提供しません。ChiliProject(おそらく無料で入手できるプラグインを使用)ができない、GithubやBitBucketがあなたのためにすることはあまりありません。美しさは、まだ存在しない場合、通常は自分で実装するのはかなり簡単です。

これがあなたが必要以上に聞こえるなら...私はまだ試していませんが、GitLabも興味深いようです...それはRedmine / Chiliの拡張性やプラグインアーキテクチャを持っているようには見えませんが、あなたが探しているならほとんどのコア機能セットを備えたGithubのオープンソースクローンの場合(複数のDVCSをサポートする必要はありません)、見た目はとても良いです。


あなたは、Webベースのソース管理ツールが必要な場合また、...私は正常にRedmineの/ ChiliProject ... Mercurialのための同等のかわからないとGitosisのを使用しましたが、に追加する些細なはずです。
ジェイソン・ルイス

更新:Redmineは、Redmine 2の時点で最新のRailsバージョン(Rails 3を意味する場合)も使用します。
代替案

7

Allura http://sf.net/p/alluraが法案に適合するはずです。SourceForgeのすべての新しい(またはアップグレードされた)プロジェクトのプラットフォームであり、オープンソースです。Mercurialとwikiに加えて、さらに多くのツール(Git、SVN、チケットトラッカー、フォーラムなど)をサポートしています。「コードレビュー」はありませんが、MercurialとGitリポジトリの分岐およびマージ要求をサポートしています。

Pythonで書かれており、データストレージにMongoDBとSolrを使用しています。

Alluraは現在Apache Incubatorにもあります:http : //incubator.apache.org/projects/allura.html

SourceForgeで働いており、Alluraの開発を支援しています。


6

作業中のまったく同じ問題のために、私たちは以下で構成されるエコシステムを使用します。

  • 問題追跡のためのRedmine
  • リポジトリ管理用のRhodeCode
  • 継続的な統合と展開のためのジェンキンス
  • 認証用のActive Directory(上記のすべてをシームレスに統合できます)

RedmineのDVCS統合は、後のリリースで飛躍的に改善されました。数週間前にアップグレードしましたが、ほとんどの「落とし穴」がなくなったことに非常に満足しています。

RedmineはリモートHGリポジトリをまだサポートしていないため、同じホストでRedmineとRhodeCodeサーバーを実行しています。Jenkinsは他のいくつかのホストで実行されます。

RhodeCodeフックを使用して、Redmineで水銀プルをトリガーします。JENKINS-13717のためにJenkinsプルにフックを使用することはできませんが、すでにこのパッチを提出しており、かなり早く受け入れられると思います。それまでの間、HGリポジトリを数分ごとにポーリングします。

すべてがNginxリバースプロキシ経由でDebian 6.0で実行され、SSL終了を取得します(これはすべてSSL経由でのみ使用されます)。最近、パッケージ全体がProxMoxクラスターに移動され、これまでのところすべてが仮想化され、すばらしい結果が得られています。製品がわからない場合は、それを見てください。それは「これが存在するとは信じられないし、それについても知らなかったし、OMGもオープンソースだ!」という製品の一種です。これらのサービスは、ハードウェアの修理/アップグレードのためにあるホストから別のホストに簡単に移行できるOpenVZコンテナーで実行します。同じクラスターで、Windowsプラットフォームでの自動テストのために、KVM仮想マシンも実行します。

このエコシステムに非常に満足しています。開発/ QAチームが問題を再現し、変更を大幅に追跡する能力を向上させました。ほんのいくつかの警告:

  • Rhodecodeを使用する場合は、SQLiteでセットアップしないでください。MySQLまたは別の実際のDBMSを使用します。それは実際には移行可能ではなく、SQLiteは一度に1つの接続のみを取得するため、ロックやタイムアウトが発生します(RhodeCodeの#439を参照)。Jenkinsがレポを継続的にポーリングしていると、時々エラーメッセージが表示されるため、これは苦痛になります(Jenkinsの問題に関する上記のコメントを参照)。
  • あなたは本当にとしてのMercurialで、コミット番号「132」は、ネットワーク上の他の皆に何の意味もないことを、あなたの開発者に十分に強調することはできませんこれらの数字はローカルのみです。Redmineチケット内の変更セットについて話すときは、レポブラウザから取得できるローカルリビジョン番号(RhodeCodeとRedmineは同じマシンで実行されるため同じです)を使用するか、を使用しますcommit:abcd1234

私は非常に満足しているので、このセットアップを推奨することをheしません。特定のサービスの設定にヘルプが必要な場合、または私の設定ファイルをご覧になりたい場合は、お気軽にお問い合わせください。


2

cydraをご覧くださいhttps : //github.com/mensi/cydraがサポートしています

  • Subversion(HTTP)
  • Git(別のポートでのHTTPおよびSSH)
  • マーキュリアル(HTTP)
  • Trac

プロジェクトベースのアプローチで動作し、プロジェクトを作成して、複数のリポジトリ(最大で1つのSVNリポジトリ)を割り当てることができます。認証は個々のプラグインに基づいています(LDAPに統合しました)。

https://code.vis.ethz.chコーディングプラットフォームに使用します。現時点ではコードレビューのサポートはありませんが、プラグインとして簡単に追加できます。

十分な評判がないため、スクリーンショットを投稿できません。


1
Cydraプロジェクトは、数か月前にかろうじて開始されたように見え、あまり積極的に開発されていないようです。言及するには少し未熟かもしれません。
R0MANARMY

はい、あなたは正しいです。しかし、その後、コードホスティングプラットフォームのようなものをセットアップする場合は、自分で多くのものをカスタマイズする必要があるかもしれません。
パスカル

2

GitLab https://about.gitlab.com/を使用することを検討してください。これはほとんどの要件を満たしているためです。

  1. オンプレミスでインストールできます
  2. MIT駐在員免許
  3. wiki(gitの支援)、リポジトリブラウジング、詳細なアクセス管理(複数のアクセスレベル、保護されたブランチ、LDAP統合など)があり、コードレビューとディスカッション(行コメントを含む)のマージリクエストがあります。
  4. mercurialはサポートしていませんが、gitのみをサポートしています

また、優れた問題トラッカーがあります。または、外部の問題トラッカーにリンクできます。必要に応じて、GitLab CIでマージリクエストをテストできます。GitLabは急速に成長しており、25.000以上の組織で使用されています。

開示:私はGitLab BVのCEO兼共同設立者です

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.