Openshiftをホストする独自のGitサーバーGitBlitを上げる





こんにちは、Habr!

すべてのプログラマは、バージョン管理システムを使用する人と、まだ使用しない人に分かれています。 今日最も人気のあるものの1つはgitです。 また、その構造は分散データストレージを目的としていますが、私たちはすべてgithub、assembla、bitbucket、またはgithostを使用しています。 これらのホスティングサービスの主な欠点は、いつでもアカウントをカバーしたり、左側のデータをマージしたりできる外部プロジェクトであることです。 そして、GitBlitがシーンに登場します! JavaのGitサーバー。完全に制御され、多くの機能とWebインターフェースを備えています。 本日、Redhatの無料ホスティングで起動します。







前文、あなたは読むことができません



夏の初めにRedhatから無料のホスティングについて学んだので、すぐにそこに何かを投稿したかったのですが、問題がありました:私はWeb開発に関与しておらず、プロジェクトがなく、ホスティングは必要ないようです。 最も貪欲な人で、ただの景品だったので、私の脳は「自分のgitサーバーを作ろう!」というアイデアを出しました。 グーグルで調べたところ、Javaでgitサーバーが1つしか見つかりませんでした。これは積極的に開発されただけでなく、著者によると、オープンシフトホスティングで動作することができました。 テストと積極的な使用の導入後、地区内のすべての人にそれを伝えたいという強い要望がありました。 半分の記事がすぐに書かれましたが、突然夏が訪れ、その結果、すべてのプロジェクトは秋まで凍結されました。 秋が来ました、私はついに記事を追加し、あなたの裁判所に提出します。



少しの理論、主な機能。



サイトから正直に剥ぎ取られた機能の説明は、私たちの偉大で力強いものに翻訳されました。



各リポジトリの4種類のアクセス制御構成:





基本的なパン:





言語:

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/gitblit

Google+: plus.google.com/114464678392593421684



テキストをレビューしてくれたAndrey Suvorovに感謝します。



All Articles