Skip to content

MS_OSSHostingService

nishi_74322014 edited this page Sep 1, 2026 · 2 revisions

OSSホスティング・サービス

概要

  • OSS の開発者向け機能を提供するホスティングサービス
  • Git サーバ、GitHub クローンなどとも呼ばれる。

詳細

種類

補足(3 者の位置付け): 見出しのみのため、選定の観点を補っておく。

GitHub GitLab GitBucket
提供元 Microsoft GitLab Inc. OSS(日本発)★
実装 非公開(SaaS) Ruby on Rails Scala(JVM)
主な形態 SaaS(Enterprise Server も) SaaS / セルフホスト両方 セルフホスト専用
CI/CD GitHub Actions GitLab CI(内蔵)★ プラグイン
導入の重さ 重い(DB / Redis / Sidekiq …) war 1 つで動く
規模 大規模〜 中〜大規模 小規模・部門内
【選定の目安】★
   ・外部公開 / OSS / 人材が集まる
       → 【GitHub】★
   ・オンプレ必須で、CI まで一体で欲しい
       → 【GitLab(セルフホスト)】
       → ただし【運用コストが高い】
         (アップグレードが重い、リソースを食う)
   ・閉域網で、軽く、すぐ立てたい
       → 【GitBucket】★
       → java -jar gitbucket.war だけで起動する
       → 日本語の情報が豊富

【Bitbucket との混同に注意】★
   ・【GitBucket】… 本ページの OSS(takezoe 氏ら)
   ・【Bitbucket】… Atlassian の商用サービス
   → 名前が似ているだけで【まったくの別物】

基本機能

以下のような基本機能がある。

GUI(Web)

要するに Git 操作を Web の GUI(HTML)でできる。

  • リポジトリ

    • 作成
    • 削除
  • ファイル操作+ commit

    • 追加
    • 参照
    • 更新
    • 削除
  • ブランチ

    • 作成
    • 削除
  • リリース
    (tag に連動)

    • 作成
    • 削除

Issue

要するに、

  • チケット管理であり
  • バグ・トラッキングでもある。

Wiki

Markdown で書く Wiki

PullRequest

  • PullRequest → Review → Merge を容易化する。
  • ブランチ間のマージを行う。
    • 基本的には、Pull や Fetch & Merge で行うが、
    • PullRequest では、Pull を Request できる(≒ Push)

その他

  • セキュリティ・チェック
  • CI / CD 関連機能
  • その他、各種インサイト

補足(「Git にない機能」こそが本体): 本節の一覧が示すとおり、
ホスティング サービスの価値は Git そのものではない

【Git が提供するもの】
   ・バージョン管理(commit / branch / merge)
   → これは【ローカルだけで完結する】★

【ホスティング サービスが足すもの】★★
   ① 【Pull Request / Merge Request】
       → 「レビューしてから統合する」という
         【開発プロセスそのもの】を提供する
       → Git のコマンドには存在しない概念 ★
   ② 【Issue】… 作業の可視化と紐付け
       → コミット メッセージに #123 と書くと
         自動で紐付く
   ③ 【CI/CD】… push を起点に自動実行
   ④ 【権限管理】… 誰がどのブランチに push できるか
       → 【ブランチ保護】★
         (main への直接 push を禁止し、
           PR とレビューを必須にする)
   ⑤ 【セキュリティ】
       → 依存の脆弱性検知(Dependabot 等)
       → シークレット スキャン ★
       → コード スキャン(SAST)

   → つまり
     【「Git を置く場所」ではなく
       「開発の進め方を規定する基盤」】である ★
【本 Wiki 自体が GitHub Wiki である】★
   ・本節の「Wiki(Markdown で書く)」機能を
     まさに使っているのが本リポジトリ
   ・GitHub Wiki の特徴
     - 【フラットな名前空間】
       → フォルダを作ってもリンクはファイル名だけで解決
       → だからファイル名を一意にする必要がある ★
     - 実体は【別の Git リポジトリ】(xxx.wiki.git)
     - clone して手元で編集・push できる

参考

Wikipedia

Git サーバ、GitHub クローン

補足(近年の選択肢): 参考リンクの比較記事は数年前のものなので、
現在よく挙がるものを補っておく。

【軽量なセルフホスト】★
   ・【Gitea】… Go 製。単一バイナリで動く。最も人気
   ・【Forgejo】… Gitea からのフォーク(コミュニティ主導)
   ・【GitBucket】… JVM。日本語情報が豊富
   → いずれも【小さなサーバ 1 台】で動く

【大規模・商用】
   ・GitHub Enterprise Server(オンプレ)
   ・GitLab Self-Managed
   ・【Azure DevOps Server】
     → [構成管理ツール](MS_ConfigurationManagementTools) 参照

【選定時の確認項目】★
   ・【バックアップと復旧手順】が確立できるか
     → リポジトリ本体だけでなく
       Issue / PR / Wiki も含める必要がある ★
   ・【アップグレードの手間】
     → GitLab は年 10 回以上リリースされ、
       飛び級アップグレードに制約がある
   ・【認証連携】(LDAP / SAML / OIDC)
   ・移行性
     → 将来他所へ移せるか(Issue のエクスポート等)

Tags: 移行, .NET開発, 構成管理ツール, CI

NetDevInfraWiki

マイクロソフト系技術情報 Wiki
Open 棟梁 Wiki

(未着手)

開発基盤部会 Wiki

移行管理: DONETODO

Clone this wiki locally