GitHubとは?
クラウドネイティブNow
今やソフトウェアを開発する際に広く利用されているプログラム管理サービスである「GitHub(ギットハブ)」。プログラムのバージョン管理や閲覧、バグの追跡機能やSNSの機能を備えており、開発者にとってなくてはならないサービスとなっています。加えて、世界中の人々がプログラムのソースコードやデザインデータを保存・公開できるため、特にオープンソースソフトウェアの開発プロジェクトでは広く使用されています。本ページではGitHubとはどのようなものか?について概要を解説します。
「Git」と「GitHub」
「GitHub」の「Git」とは、プログラムのソースコードをバージョン管理するツールです。「GitHub(GitHub.com)」は、このGitをオンライン上で管理するウェブサービスであり、全世界で6,500万人以上(2021年9月現在)のユーザーを抱えています。
Gitを使ううえで一番大事な機能に「リポジトリー」と「ブランチ」と呼ばれるものがあります。
「リポジトリー」とは?
Gitは正確には「分散バージョン管理システム」と呼ばれます。バージョン管理システムでは、各種履歴を「リポジトリー」で管理します。CVSやSubversionなどのバージョン管理システムでは、リポジトリーは全体で1つだけでした。Gitでは、このリポジトリーを「分散」できるようにしたことで広く利用されるようになりました。Gitのリポジトリーは以下の2種類があります。
- リモートリポジトリー:本サービス環境に配置して、複数のユーザーで共有するためのリポジトリーです。
- ローカルリポジトリー:それぞれのユーザ一が利用するために、自分のローカルマシン上に配置するリポジトリーです。
「ブランチ」とは?
Gitを使った開発では、ブランチと呼ばれる機能を利用して開発を進めます。ブランチとは機能追加やバグ修正など、プログラムに対して行った作業の履歴を記録するものです。このブランチは必要に応じて分岐させることができ、分岐させたブランチの履歴は他のブランチからの影響を受けません。また、分岐させたブランチは他のブランチとマージして、一つのブランチにまとめ直すこともできます。
GitHubを活用したソフトウェア開発
GitHubには、開発のチームメンバーがリモートで作業するための機能が豊富に揃っています。これらを利用することで、開発者がローカルで開発したソースコードを共有し、レビュアーが共有されたソースコードをレビューし、プロジェクトマネージャー(PM)がソフトウェアのバグや開発案件の管理を行うといったことがウェブ上で行えるようになります。
このGitHubを法人向けにセキュリティ機能を強化し、オンプレミスで利用できるようにソフトウェアとして提供しているものが「GitHub Enterprise」です。
GitHubの利用シーン
GitHubを利用するとプロジェクトにどのような変革を起こすことができるのか、ここでは2つの事例を見てみましょう。
リポジトリー集約による、コミュニケーションの改革
以前はプロジェクトごとに開発環境を決定していたため、各開発部の管理職やリーダーは課題を抱えていました。そこで、GitHubを使用してリポジトリーの集約を行うことで課題を解決すると共に、サーバー集約によるコスト削減とパッチ適用などの運用が軽減されることで開発生産性が向上し、働き方改革にも貢献できました。
Before
- プロジェクトごとのノウハウが分断し、開発ナレッジの共有ができていない
- リポジトリーサーバーが乱立し、プロジェクトごとに設計書やソースコードを管理
- サーバーの乱立でインフラ運用コストが肥大化
After
- プロジェクトごとのノウハウをWikiで共有し、開発ナレッジの集約・共有
- リポジトリーサーバーを集約し、プロジェクトごとの設計書やソースコードを共有
- サーバー集約によりインフラ運用コストを削減
協業・共創パートナーとの開発効率化
協業・共創パートナー企業とのソフトウェア開発を行っているプロジェクトチームでは、協力会社との開発プロジェクトにおいて課題を抱えていました。そこで、GitHubをプロジェクトに導入することで課題を解決すると共に、時間・場所に縛られないコミュニケーションと開発作業の効率化を実現しました。
Before
- FTPサーバーなどによる資産の受け渡し
- 開発資産を目視確認してコピー&ペーストでマージ
- メールや会議など、記録に残しづらいやりとりが散見
-
注1開発者がローカルリポジトリーで変更した内容を他の開発者に通知する機能です。
-
注2プロジェクトを進める際に発生する課題を見える化して管理する機能です。
富士通の提供するGitHub Enterprise
富士通はGitHub社より、GitHub Verified Partnerに認定されています。マネージドサービス提供者として、FUJITSU Hybrid IT Service Digital Application Platformでお客様ごとの専用VMで、GitHub Enterprise(GHE)環境を提供しており、通常のGitHub Enterpriseと同様の機能を利用できます。
当社が提供するFUJITSU Hybrid IT Service Digital Application Platform GitHub Enterpriseは、ソフトウェア開発支援機能のみをお客様に提供しております。インフラストラクチャーの運用は当社が責任をもって行うことで、お客様は安心して開発作業にリソースを集中できます。
分類 | 項目 | FUJITSU Hybrid IT Service Digital Application Platform GitHub Enterprise | GitHub Enterprise(ソフトウェア) |
---|---|---|---|
契約 | 提供方式 | マネージドサービス | ソフトウェア |
課金モデル | 月額従量 | 年額先払 | |
プラットフォーマー | 富士通 | お客様が選択 | |
開発支援機能 | パブリックリポジトリー | 提供 | 提供 |
プライベートリポジトリー | 提供 | 提供 | |
ソースコード管理 | 提供 | 提供 | |
Pull Request | 提供 | 提供 | |
サードパーティーツールとの連携 | 提供 | 提供 | |
プロジェクト管理 | 提供 | 提供 | |
監査ログ | 提供 | 提供 | |
二要素認証 | 提供 | 提供 | |
インフラ設定 | 仮想マシン配備 | 富士通が構築 / 運用 | お客様自身で構築 / 設定 / 運用 / 対応 |
ファイアウォール設定 | 富士通が設定 | ||
運用 | サーバー監視 | 富士通が構築 / 監視 | |
GHEのアップグレード | 富士通が対応 | ||
冗長化クラスタ構成 | 富士通が構築 / 運用 | ||
バックアップ | 富士通が構築 / 運用 (日次バックアップ / 14世代保存) |
||
ヘルプデスク | FUJITSU Hybrid IT Service ヘルプデスクサービス(日本語での対応) | GitHub社サポートデスク |
マネージドサービスの特長
FUJITSU Hybrid IT Service Digital Application Platform GitHub Enterpriseの主な特長は以下のとおりです。
-
特長1
- お客様専用環境
- VMレベルで独立した環境が利用でき、サービス型で提供されるため維持・運用が不要です。
-
特長2
- 安心・安全のサービス基盤
- 電源系統まで分離された冗長構成が組まれているため障害発生時でも業務継続ができます。
-
特長3
- 自動バックアップ
- 個別にツールやディスクを用意しなくても、日次バックアップを14世代保存できます。
-
特長4
- ワンストップサポート
- 当社が専用のヘルプデスクを運用しており、日本語でお問い合わせができます。
-
特長5
- データディスク拡張オプション
- お客様の業務拡大に合わせてデータディスクを拡張することができますので、柔軟に容量を選択することができます。
-
特長6
- アクセス元IP制御設定
- 本サービスへのアクセスを、お客様の指定したグローバルIPアドレスからのアクセスに限定できます。
特にGitHub Enterpriseを使う上で非常に重要となるセキュリティについては、適切な人へのアクセス管理付与によるセキュリティ維持を実現しています。
- 契約者専用のGitHub Enterprise環境を提供
- ユーザーへのアクセス権限設定による組織内の権限管理
- 監査ログ機能によるログイン証跡・変更証跡の管理
- 二要素認証による本人確認強化
- アクセス元IPアドレス制限によるネットワーク層でのアクセス制限
関連情報
当社が提供する「GitHub Enterprise」の詳細は下記ページをご覧ください。
本コンテンツに関するお問い合わせ
お電話でのお問い合わせ
-
富士通コンタクトライン(総合窓口)
0120-933-200受付時間:9時~12時および13時~17時30分(土曜日・日曜日・祝日・当社指定の休業日を除く)