最も重要な資産が外にあります
ソースは会社が作ってきたもののすべてです。消したくても自分で消すのではなく消してほしいと頼むことになり、バックアップがどこまで残るかは利用規約が決めます。
なぜ自社ホスティングか
外部のリポジトリはすぐに始められます。その代わり、製品の設計と履歴、誰が何をいつ直したかが、すべて他社のインフラに積み上がります。
ソースは会社が作ってきたもののすべてです。消したくても自分で消すのではなく消してほしいと頼むことになり、バックアップがどこまで残るかは利用規約が決めます。
外部接続が塞がれた社内網・工場・現場では clone 一回すら通りません。規定ではなく物理的に届かない場所があります。
金融・医療・公共の審査で「そのソースはどこに保管されていますか」と問われたとき、外部事業者の規約を示す以外に出せる答えがありません。
製品
コードを置く場所と、そのコードについて話す場所が別々だと、結局もう一つ道具を買うことになります。SSemRepo は三つを一式で出します。
git clone・push が HTTPS でそのまま通ります。ブラウザーでファイル・コミット・差分を読み、移行してきた Subversion リポジトリも同じ画面で読めます。
課題・マイルストーン・ラベル・担当者、プルリクエストとコードレビュー、掲示板と Wiki。プロジェクト一つの中で完結します。
グループと権限、登録の承認、メール通知と書式、サイトロゴやバックアップまで管理画面で変えられます。直すために再配備しません。
機能
HTTPS の clone・push、ブランチとタグ、コミット一覧と差分、ファイル閲覧とウェブ編集、フォーク。
移行した svn リポジトリのリビジョン・ファイル・差分を git と同じ画面で読めます。古い資産を捨てる必要はありません。
ラベル・担当者・マイルストーン、親子の課題、添付とコメント、そして見える範囲だけを返す検索。
ブランチ間の差分、ファイルごとのレビューコメント、衝突の表示、マージと自動クローズ。
お知らせは掲示板に、規約と設計は Wiki に。課題と同じ編集画面・同じ添付を使います。
製品画面が韓国語・英語・日本語・中国語・ドイツ語・ロシア語・フランス語・ベトナム語・インドネシア語・スペイン語で表示されます。
画面
新しい道具を覚える時間こそ導入の本当の費用です。画面は開発者がすでに知っている配置に従います — 左にプロジェクト、中央に作業、上にコード。
画面の説明
コマンドライン
人が押して進める仕事と、機械が繰り返す仕事は別物です。SSemRepo は専用のコマンドライン道具を一緒に出します — スクリプトから呼び、ビルドの後ろに継ぎ、コーディングエージェントに任せられます。
課題・掲示板・Wiki・プルリクエスト・マイルストーン・グループ、サイト管理まで。結果は人が読む表でも、機械が読む JSON でも受け取れます。
アカウントをプロファイルに分け、ディレクトリごとにどのアカウントで働くかを結び付けます。その下では自然とそのアカウントになります。
git 資格ヘルパーとして繋がるので、push のたびにパスワードを聞かれません。保存した秘密の値はその機械に結び付けて暗号化され、ファイルだけ別の機械へ移しても開きません。
AI コーディング道具にそのまま繋げる利用指針を同梱します。「この不具合を課題に上げて」がそのまま実行されます。
この画面の説明
構成
ブラウザーと git クライアントが同じアドレスに入ります。ウェブサーバーが受けて Tomcat に渡し、履歴は PostgreSQL に、リポジトリのファイルは自社のディスクに残ります。
図の説明
移行
新しく始めるチームより、すでに積み上げてきたチームのほうが多いものです。今お使いの道具にある git・svn リポジトリと課題・添付を移す手順と道具を一緒にお渡しします。
今の道具のデータベースから課題・コメント・履歴を読み出し、PostgreSQL へ移します。値を文字列として置き換えるのではなく、ドライバーで読んでそのまま入れます。
git・svn のリポジトリとアップロード済みファイルはディレクトリごと複写します。リポジトリ自体はどの道具から来ても標準なので、手を入れる所がありません。
利用者・グループ・役割も一緒に来ます。パスワードの方式が合えばそのまま通るので、全員が登録し直す必要はありません。
旧システムを止める前に、同じ資料を二つの画面で見比べます。戻れる場所を残したまま移します。
移行の規模と日程はリポジトリの数とディスクの大きさから見積もります。ご相談いただければ現在の環境を一緒に確認します。
導入
コンテナ二つ — アプリケーションと PostgreSQL。決めるのはリポジトリを置くディスクだけです。
表を作り、初期データを入れてから管理者アカウントを作ります。手引きに書かれた命令をそのまま打ちます。
会社のドメインを向け、HTTPS を整えます。git が通るので、本文の大きさ制限だけ緩めておきます。
登録の方式を決め、グループとプロジェクトを作ります。移行が必要ならその場で旧資料を取り込みます。
技術
ありふれた Java サーバー一つで動きます。運用チームがすでに知っている方法で起動し再起動します。
重い対応付けの層を挟まず SQL を直に書きます。遅い問い合わせの原因は問い合わせの中で見つかります。
最初の画面が軽く出るよう受け取る量を減らしました。フォントも社内網から直接配ります。
模擬ではなく実際のサーバーに繋ぎ、プロジェクトを作り push し PR を出すところまで回して確かめます。
チームの規模と今お使いのリポジトリを教えていただければ、合う構成をご提案します。試験導入と移行もお手伝いします。
お問い合わせhalo@levelupsoft.com+82 10-8472-4070
Levelupsoft Inc.