皆さん、こんにちは。中村です。

先日6/23(土)に行われた The GitHub poweredby Agile渋谷 というイベントで、Backlog+Gitのシステム構成についてお話させていただきました。今日は、その時話した資料について簡単に説明したいと思います。

当日の発表資料は以下に公開しています。なお、Git機能はリリース前ということもあって、今後変更されることも考えられます。その点はご了承ください。


下図に、Gitに関連する部分のシステム構成を抜き出しました。GitクライアントからはSSH/HTTPでアクセスされるため、それぞれのリクエストを受け付けるサーバを用意します。また、Gitリポジトリを作成/削除したり、プロジェクト名称の変更に追随してリポジトリ名称を変更するといった、Backlog固有の処理を行うための内部APIを処理するサーバがあります。それとは別に、ブランチのリストを取得したり、指定ファイルのコンテンツの内容を取得してネットワーク越しに扱えるようにするためのGitラッパを用意しています。
backloggit
GitクライアントからHTTPでアクセスしたときの流れを、下記に示します。SSHでアクセスした場合も、ほぼ同様の流れとなります。
backloggit02

ブラウザからBacklogのWeb画面にアクセスした場合は、下図のようになります。AppサーバからGitリポジトリは直接参照できないので、内部APIもしくはGitラッパ経由でGitリポジトリを参照します。
backloggit03
以上、簡単ではありますが、システム構成を紹介しました。Git機能については、皆さまによりよいものをご提供できるよう、現在Backlogチーム一同総力で準備しております。あとちょっとですので、期待してお待ちください!