こんにちは、Habr!
すべてのプログラマは、バージョン管理システムを使用する人と、まだ使用しない人に分かれています。 今日最も人気のあるものの1つはgitです。 また、その構造は分散データストレージを目的としていますが、私たちはすべてgithub、assembla、bitbucket、またはgithostを使用しています。 これらのホスティングサービスの主な欠点は、いつでもアカウントをカバーしたり、左側のデータをマージしたりできる外部プロジェクトであることです。 そして、GitBlitがシーンに登場します! JavaのGitサーバー。完全に制御され、多くの機能とWebインターフェースを備えています。 本日、Redhatの無料ホスティングで起動します。
前文、あなたは読むことができません
夏の初めにRedhatから無料のホスティングについて学んだので、すぐにそこに何かを投稿したかったのですが、問題がありました:私はWeb開発に関与しておらず、プロジェクトがなく、ホスティングは必要ないようです。 最も貪欲な人で、ただの景品だったので、私の脳は「自分のgitサーバーを作ろう!」というアイデアを出しました。 グーグルで調べたところ、Javaでgitサーバーが1つしか見つかりませんでした。これは積極的に開発されただけでなく、著者によると、オープンシフトホスティングで動作することができました。 テストと積極的な使用の導入後、地区内のすべての人にそれを伝えたいという強い要望がありました。 半分の記事がすぐに書かれましたが、突然夏が訪れ、その結果、すべてのプロジェクトは秋まで凍結されました。 秋が来ました、私はついに記事を追加し、あなたの裁判所に提出します。
少しの理論、主な機能。
サイトから正直に剥ぎ取られた機能の説明は、私たちの偉大で力強いものに翻訳されました。
各リポジトリの4種類のアクセス制御構成:
- 匿名ブラウジング、クローン作成、リポジトリへのアップロード
- リポジトリへの許可されたアップロード
- 認可されたクローニングとリポジトリへのアップロード
- リポジトリへの許可された表示、クローン作成、アップロード
- リポジトリのフリーズ(読み取り専用)
基本的なパン:
- JGit SmartHTTPサーブレットに基づく
- 他のGitblitサーバーと組み合わせる機能
- RSS / JSON RPCインターフェイス
- クロスプラットフォームJava Gitblit Manager
- 電話、タブレット、および通常のコンピューターに適合したWebインターフェース
- サーバーにアップロードする前と後にフックでgroovyスクリプトを使用します。 単一のリポジトリに対して、またはすべてに対してグローバルにフックのアクションを設定できます
- サーバーへのアップロード後のメール通知(sendmail.groovyスクリプト経由)
- Luceneリポジトリブランチのインデックス作成
- 管理者は、WebインターフェースまたはRPCインターフェース(マネージャー)を介して、リポジトリー、ユーザー、およびグループを作成、編集、名前変更、または削除できます。
- リポジトリ所有者は、Webインターフェースを介して編集できます
- リポジトリの管理者と所有者は、WebインターフェイスまたはRPCインターフェイスを介してメインブランチを設定できます
- LDAP認証とオプションのLDAPユーザーリスト
- gravatarとの統合
- gitタグの表示をサポート
- GHページのサポートされている表示(Jekyllはサポートされていません)
- マークダウンファイルの表示をサポート
- ブランチ統計(Google Chartで使用)
- ブランチのRSSフィード
- 日付と時刻を表示するときに、ブラウザーのタイムゾーンの使用がサポートされています
- 著者とコミッターの電子メールアドレスの非表示をサポート
- コミット、作成者、コミッターの大文字と小文字を区別しない検索
- ソース構文の強調表示
- 追加のユーティリティ
- すべてのMarkdownリポジトリファイルを含むドキュメントページ
- Ticgit Page(最新のMITリリースbf57b032 2009-01-27に基づく)
言語:
Great and the Mightyに翻訳したいですか?
www.getlocalization.com/gitblitへようこそ
スクリーンショット:
gitblit.com/screenshots.htmlデモサーバー:
demo-gitblit.rhcloud.comさあ、練習しましょう
設置
OpenShiftに登録するJBoss Application Server
https://openshift.redhat.com/app/console/application_types/jbossas-7を作成し
ますさらに、指示に従ってsshキーを追加し、git cloneを実行します。
私にとっては、例えば、このように:
git clone ssh://461e96291a2d2fb96b4423a0a329c7@habr-dark008.rhcloud.com/~/git/habr.git/
アプリケーションフォルダーに移動します。
cd habr/
標準スタブからフォルダーをクリアします。
rm -R *
gitblitのダウンロード:
wget https://gitblit.googlecode.com/files/express-1.1.0.zip
habrフォルダーに解凍し、アーカイブを削除します。
unzip express-1.1.0.zip && rm express-1.1.0.zip
アドレスに構成を構成します:
habr / deployments / ROOT.war / WEB-INF / web.xml値を
trueに設定し
ます 。
web.enableRpcManagement
web.enableRpcAdministrationそして
web.forwardSlashCharacterをオンにし
ます!賢明な妄想として、すべてのトラフィックをhttps経由でリダイレクトします。
jboss-web.xmlファイルを同じフォルダー(WEB-INF)に作成し、次のコンテンツを追加します。
<jboss-web> <security-domain>jboss-web-policy</security-domain> <valve> <class-name>org.jboss.web.rewrite.RewriteValve</class-name> </valve> </jboss-web>
次のリダイレクトルールを使用して、同じフォルダー(WEB-INF)に
rewrite.propertiesファイルを作成します。
RewriteCond %{HTTP:X-Forwarded-Proto} http RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
これで、サーバー側のセットアップが完了しました。
神聖を実行して、サーバー上のデータを入力します。
git add . git commit -m 'Init git server' git push
これでセットアップの最後のステップです。
gitblitリモート管理マネージャーをダウンロードします:
gitblit.googlecode.com/files/manager-1.1.0.zipサーバーhabr-dark008.rhcloud.comに接続します。ログインとパスワードは標準です:admin、admin。
管理者パスワードを変更するだけでよく、残りの設定はあなたの裁量に任されています。
サーバーはWebインターフェースを介して構成することもできますが、作成者はマネージャーを使用することをお勧めします。設定が多く、不具合が少ない。
さらに微調整:
gitblit.com/setup.html参照資料
ソース:
github.com/gitblitまたは
code.google.com/p/gitblit/source/listバグトラッカー:
code.google.com/p/gitblit/issues/listディスカッション:
groups.google.com/group/gitblitGoogle+:
plus.google.com/114464678392593421684テキストをレビューしてくれたAndrey Suvorovに感謝します。