FUJITSU Cloud Service for OSS 「GitHub Enterprise」 ご紹介資料 ·...

29
FUJITSU Cloud Service for OSS 「GitHub Enterprise」ご紹介 2018年8月 富士通株式会社 ・本資料の無断複製、転載を禁じます。 ・本資料は予告なく内容を変更する場合がございます。 Version 1.11

Transcript of FUJITSU Cloud Service for OSS 「GitHub Enterprise」 ご紹介資料 ·...

FUJITSU Cloud Service for OSS「GitHub Enterprise」ご紹介

2018年8月富士通株式会社

・本資料の無断複製、転載を禁じます。

・本資料は予告なく内容を変更する場合がございます。 Version 1.11

Copyright 2017-2018 FUJITSU LIMITED

目次(1/2)

GitHub Enterpriseご紹介

ソースコードの変更履歴管理:Git

GitHub.com/GitHub Enterpriseとは

GitHub Enterpriseでコラボレーション効率化

富士通の提供するGitHub Enterprise

富士通の提供するGitHub Enterpriseの特長

GitHub Enterprise(ソフトウェア)との違い

事例:運用作業削減と安全で効率的なオフショア開発

事例:組織単位での導入によるナレッジの集約

1

Copyright 2017-2018 FUJITSU LIMITED

目次(2/2)

GitHub Enterprise機能詳細

イシュー

ブランチ/コミット/プッシュ

プルリクエスト(発行)

プルリクエスト(コードレビュー)

プルリクエスト(承認/マージ)

プロジェクト管理

ナレッジ共有

二要素認証

課金の考え方/制限事項・注意事項

課金の考え方

プラン変更/オプション適用について

各種設定の適用について

制限事項・注意事項

2

Copyright 2017-2018 FUJITSU LIMITED

ソースコードの変更履歴管理:Git

Gitを使った開発

Gitは分散型版数管理システムであり、リポジトリは2種類あります。

リモートリポジトリ本サービス環境に配置して複数人で共有するためのリポジトリです。

ローカルリポジトリユーザ一人ひとりが利用するために、自分のローカルマシン上に配置するリポジトリです。

マスターブランチ(最新の安定なコードを管理)

ブランチ(分ける)

マージ(合わせる)

コーディング レビュー

A

B

AB機能ブランチ

(機能開発を行うためのコード管理)

Gitは、ソースコードの変更履歴を管理するための分散型バージョン管理システムです

ローカルリポジトリリモートリポジトリ

3

Copyright 2017-2018 FUJITSU LIMITED

GitHub.com/GitHub Enterpriseとは

GitHub.comの利用状況について(※)

GitHub.comを活用したソフトウェア開発

Git

リモートリポジトリ

開発者ローカルで開発したコードを共有

レビューア共有されたコードをレビュー

PMソフトウェアのバグや開発案件の管理

登録ユーザー数 リポジトリ数

2,800万 8,500万

「GitHub.com」は、バージョン管理システムであるGitに対応したソフトウェア開発のためのサービスであり、全世界で2,800万人以上のユーザーを抱えています。この「GitHub.com」を法人向けにセキュリティ機能を強化し、オンプレミスで利用できるようにソフトウェアとして提供するものが「GitHub Enterprise」です。

※2018年7月現在引用元https://github.com/home

オープンソース開発のために作られているため、開発者同士がリモートで開発を行うための

機能が豊富

課題管理

タスク管理

コードレビュー

Wiki

CI連携

認証

4

Copyright 2017-2018 FUJITSU LIMITED

GitHub Enterpriseでコラボレーション効率化

GitHub Enterprise

GitHub Enterpriseは、Gitを中心に、開発者同士のコミュニケーション機能やプロジェクト管理機能など、共同開発に必要な機能を提供します。

コードレビュー支援

多要素認証

分散バージョン管理

コラボレーション

リモート

ローカル

ローカル分散開発の実現

開発者

開発者レビュア

Clone

Clone

Push

Push

プルリクエスト

xxxxxxxxxxxxxxxx

xxxxxxxx

レビュー時間の短縮

セキュリティの強化

OneTime

円滑なコミュニケーション

@mention

5

Copyright 2017-2018 FUJITSU LIMITED

富士通の提供するGitHub Enterprise

GitHub Enterprise

A社専用 GHEB社専用

GHEC社専用

GHEインフラ運用を冗長化構成にて提供

(富士通が管理)

ソフトウェア開発支援機能

を提供(お客様が管理)

当社はGitHub社とのパートナーシップによりライセンス提供を受け、FUJITSU Cloud Service for OSSのサービスの1つとしてGitHub Enterpriseを提供します。お客様ごとに専用のGitHub Enterprise(GHE)環境を提供します。

サービス基盤(インフラ運用)監視/自動バックアップ/メール配信/DNS/料金計算など

B社A社 C社

通常のGitHub Enterpriseと同様の機能をご利用可能

GitHub Enterpriseの全機能(Web画面、API)

Site Admin権限によるユーザ管理、各種設定変更

富士通

GHE(メイン) GHE(サブ)

6

Copyright 2017-2018 FUJITSU LIMITED

お客様専用環境 安心・安全のサービス基盤

自動バックアップ ワンストップサポート

■ VMレベルで独立した環境の利用が可能

■ サービス型で提供されるため維持・運用が不要

■ 電源系統まで分離された冗長構成が組まれているため障害発生時でも業務継続が可能

■ アクセス元IP制御が可能

■ 個別にツールやディスクを用意しなくても、日次バックアップを14世代保存可能

■ Fujitsu Cloud Serviceヘルプデスクのご利用が可能のため、日本語でお問い合わせが可能

お客様に安心して開発作業に専念していただける環境をご提供

富士通の提供するGitHub Enterpriseの特長①

7

Copyright 2017-2018 FUJITSU LIMITED

富士通の提供するGitHub Enterpriseの特長②

お客様が管理しているFQDN/証明書をご利用いただけます。お客様のドメインを用いた運用ができます。 お客様のDNSサーバーへのFQDN登録は、お客様にて行っていただく必要があります。 GitHub Enterpriseに適用するサーバー証明書はお客様にてご準備ください。

FQDN/証明書持ち込み設定

標準提供100GBのデータディスク容量をオプションにより拡張できます。お客様の業務拡大に合わせて、柔軟に容量を選択することができます。

データディスク拡張オプション

本サービスへのアクセスを制限することができます。お客様の指定したグローバルIPアドレスからのアクセスに限定できます。

アクセス元IP制御設定

8

Copyright 2017-2018 FUJITSU LIMITED

GitHub Enterprise(ソフトウェア)との違い

分類 項目GitHub Enterprise(ソフトウェア)

FUJITSU Cloud Service for OSS

GitHub Enterprise

契約提供方式 ソフトウェアの提供 マネージドサービスとして提供課金モデル 年額先払 月額従量プラットフォーム お客様が選択 FUJITSU Cloud Service for OSS

開発支援機能

パブリックレポジトリ ○ 同左プライベートレポジトリ ○ 同左ソースコード管理 ○ 同左Pull Request ○ 同左サードパーティツールとの連携 ○ 同左プロジェクト管理 ○ 同左監査ログ ○ 同左二要素認証 ○ 同左

インフラ設定

仮想マシン配備

お客様自身で構築/運用

富士通が構築/運用FQDN/証明書設定 富士通が構築/運用(※お客様持込も可)

ファイヤーウォール設定 富士通が構築/運用SAML/LDAP/CAS連携 ×※ご希望の場合、お問い合わせください

運用

サーバー監視 富士通が構築/運用GHEのアップグレード 富士通が構築/運用冗長化クラスタ構成 富士通が構築/運用バックアップ 富士通が構築/運用(※日次14世代)

ヘルプデスク GitHub社サポートデスク FUJITSU Cloud Service ヘルプデスクサービス

富士通の提供するGitHub Enterpriseでは、ソフトウェア開発支援機能のみをお客様に提供。お客様は開発にリソースを集中させることが可能です。インフラの運用は弊社にお任せください。

○:提供

9

Copyright 2017-2018 FUJITSU LIMITED

■ 資産受け渡しのリスクと、人手による作業の負荷を軽減■ リモートでも、密な情報の連携が可能に

Before After

お客様の目的

プロジェクトのムダな作業をなくし、開発そのものにリソースを集中させる

開発会社A

Project-①

Project-②

開発会社B

開発会社C 資産管理ツール

資産管理ツール維持/運用

開発者

・メールで資産受領・送信元を確認 ・添付ファイルをレビュー

・コメントを返信・修正済み資産を登録 開発会社A

Project-①

Project-②

開発会社B

開発会社C

開発者

FUJITSU Cloud Service for OSS

GitHub Enterprise

運用者

多要

素認

・レビュー

・開発

開発者

個別に運用者をアサイン

問題③

宛先誤りによる情報漏洩リスク

問題①

1件ずつ原本と比較、履歴登録の手間

問題②

運用者不要リソースを開発へシフト

解決③

・専用リポジトリに直接資産登録・認証機能による本人確認

解決①

・差分情報を元にした効率的なレビュー・やり取りがそのまま履歴管理

解決②

事例:運用作業削減と安全で効率的なオフショア開発

GHE

富士通

GHE

10

Copyright 2017-2018 FUJITSU LIMITED

■プロジェクトごとに分断されていた知見をGHEに集約■ 乱立した資産管理ツールを統合して運用作業を削減

Before After

お客様の目的

乱立していたコードレポジトリを集約、ナレッジの集約による生産性向上を実現

Project-①

資産管理ツール

事例:組織単位での導入によるナレッジの集約

Project-②

資産管理ツール

Project-④

資産管理ツール

Project-③

資産管理ツール

ナレッジが分断。類似した課題が頻発

問題①

インフラ/運用コストがプロジェクト毎に増加

問題②

運用レベルがチームに依存/データ消失リスク

問題③

FUJITSU Cloud Service for OSSGitHub Enterprise

Project-① Project-② Project-③ Project-④

・GHE上にナレッジを集約し、チーム間のナレッジ共有を活性化

解決①

GHE

リソース集約による、運用コスト削減

解決②

富士通

富士通による確実な運用

解決③

富士通

公開 公開 公開 非公開

11

Copyright 2017-2018 FUJITSU LIMITED

GitHub Enterprise機能詳細

12

Copyright 2017-2018 FUJITSU LIMITED

GitHub Enterpriseの提供機能

ソースコード版数管理ソフトのGitを中心に、ソフトウェア開発で発生するコミュニケーションのための機能を提供

最新の安定なソースコード

ブランチ(分ける)

マージ(合わせる)

コーディング レビュー

A レビューをお願いします!!

A

AB

AB

AB

ブランチ コミット/プッシュ レビュー:プルリクエスト 承認 マージ

機能開発を行うためのソースコード

課題:イシュー

共通機能(プロジェクト管理/ナレッジ共有/セキュリティ)

Gitの機能 GitHub Enterpriseの機能

GitHub Enterprise提供機能

ソフトウェア開発の流れ

13

Copyright 2017-2018 FUJITSU LIMITED

機能概要:イシュー

イシュー

開発における課題や、タスクを管理するための機能です

ソースコードの機能追加や、改善要望、バグ報告がある場合などに、イシューに起票し、情報を共有します

ToDoリストや、マイルストーンを設定することで、開発の進捗管理にも利用可能

ブランチ コミット/プッシュ レビュー:プルリクエスト 承認 マージ課題:イシュー

共通機能(プロジェクト管理/ナレッジ共有/セキュリティ)

14

Copyright 2017-2018 FUJITSU LIMITED

機能概要:ブランチ/コミット/プッシュ

ブランチリポジトリでは、ブランチと呼ばれる分岐を開発者毎に自由に作ることができます。ブランチを利用することで、リポジトリに対して、個人ごとに複数の作業領域を作成しながらソフトウェア開発を行うことが可能です。

コミット/プッシュソースコードの変更を、コードレポジトリに登録します。ローカルレポジトリへの記録をコミット、リモートレポジトリへのコミットの登録をプッシュといいます。コミット単位で変更履歴が管理され、適切な単位でコミットを行うことで、コードの差分を追跡しやすくなります。

マスターブランチ マスターブランチ

ブランチ作成

安定なコード

開発向けコード

XX機能の実装 YY処理ロジックの追加

ZZのバグ修正

変更履歴が差分で表示される

ブランチ コミット/プッシュ レビュー:プルリクエスト 承認 マージ課題:イシュー

共通機能(プロジェクト管理/ナレッジ共有/セキュリティ)

15

Copyright 2017-2018 FUJITSU LIMITED

機能概要:プルリクエスト

プルリクエスト開発者が開発資産を反映する際、ソースコードの変更箇所を分かりやすく表示し、通知する機能です。機能追加や改修など、作業内容をレビュー・マージ担当者やその他関係者に通知できます。

マスターブランチ

ブランチ作成 マージ

プルリクエスト

コーディング レビュー

ブランチ コミット/プッシュ レビュー:プルリクエスト 承認 マージ課題:イシュー

共通機能(プロジェクト管理/ナレッジ共有/セキュリティ)

16

Copyright 2017-2018 FUJITSU LIMITED

機能概要:プルリクエスト(コードレビュー)

GitHub EnterpriseのWeb画面上で、ソースコードのレビューを行うことができます。差分を比較しながら、その差分が発生している行に直接コメントを記載することで、直感的で分かりやすいソースコードレビューを行うことができます。

ブランチ コミット/プッシュ レビュー:プルリクエスト 承認 マージ課題:イシュー

共通機能(プロジェクト管理/ナレッジ共有/セキュリティ)

17

Copyright 2017-2018 FUJITSU LIMITED

機能概要:プルリクエスト(承認/マージ)

プルリクエストの承認マージ

マージ先のソースコードと編集の競合(コンフリクト)が無いか、自動的にチェックが行われる。 プルリクエストを承認するとコードがマージされます。

ブランチの保護(Protected Branch)

レビューの強制、他社サービス連携による

品質チェック、マージ可能なユーザーの制限などを行い、安定なコードのみをマージできるように管理することが可能です。

マージ

ブランチ コミット/プッシュ レビュー:プルリクエスト 承認 マージ課題:イシュー

共通機能(プロジェクト管理/ナレッジ共有/セキュリティ)

18

Copyright 2017-2018 FUJITSU LIMITED

機能概要:プロジェクト管理

プロジェクトプロジェクト管理機能を用いて、イシューやプルリクエストをタスク管理することが可能です。1リポジトリに対して、複数のプロジェクトを作成することができます。

ブランチ コミット/プッシュ レビュー:プルリクエスト 承認 マージ課題:イシュー

共通機能(プロジェクト管理/ナレッジ共有/セキュリティ)

19

Copyright 2017-2018 FUJITSU LIMITED

機能概要:ナレッジ共有

Wiki

Wikiはレポジトリ単位で作成することができます。

レポジトリの運用ルールや、開発業務を進める上での、周知事項を記載するのに役立ちます。

Gist

Gistはユーザー単位で作成することが出来ます。文章やソースコードを簡易的に共有するための機能です。

ブランチ コミット/プッシュ レビュー:プルリクエスト 承認 マージ課題:イシュー

共通機能(プロジェクト管理/ナレッジ共有/セキュリティ)

20

Copyright 2017-2018 FUJITSU LIMITED

二要素認証

GitHub Enterpriseでは、以下の方式の二要素認証をサポート*

時間同期型ワンタイムパスワード(TOTP)

セキュリティデバイス認証(FIDO U2F)

GitHubの二要素認証

機能概要:二要素認証

デフォルト設定ID/Password

ワンタイムパスワード(TOTP)

セキュリティデバイス(U2F)

or

*・・・二要素認証に必要なアプリケーション/デバイスは、お客様自身で準備する必要があります

ブランチ コミット/プッシュ レビュー:プルリクエスト 承認 マージ課題:イシュー

共通機能(プロジェクト管理/ナレッジ共有/セキュリティ)

21

Copyright 2017-2018 FUJITSU LIMITED

課金の考え方制限事項・注意事項

22

Copyright 2017-2018 FUJITSU LIMITED

課金の考え方(1/2)

サービスメニュー

基本料金 想定利用規模メモリ(GB)

データディスク容量(GB)

各種設定利用可否

アクセス元IP制御設定

FQDN/証明書持ち込み設定

ベーシック 月 1~500ユーザー 16 100 × ×

スタンダード 月 1~500ユーザー 16 100 ○ ○

アドバンスド 月 501~3000ユーザー 32 100 ○ ○

ユーザーライセンス ユーザー数・月

データディスク拡張オプション

100GB 月 ・基本料金に含まれるデータディスク容量100GBを超えてディスクを利用する場合は、いずれか1つ選択します。すべての基本料金のプランで拡張可能です。

・本オプションは、契約している容量のプランより少ない容量のプランへの変更や、オプション単体での解約(利用終了)はできません。

・基本料金プランを利用終了すると自動的に利用終了となります。

200GB 月

500GB 月

1TB 月

23

Copyright 2017-2018 FUJITSU LIMITED

課金の考え方(2/2)

課金の考え方

基本料金(月額固定)+ユーザーライセンス(従量料金)+オプション料金

•基本料金:固定料金/月※ 選択したプランに応じた料金がかかります。プラン変更を行った場合は、翌月の基本料金から

新プランの料金が適用になります。プラン変更は料金月内で1回のみ可能です。

•ユーザーライセンス:サービスに登録されているユーザー数(アクティブユーザー数)に応じて課金します。※1 アカウント払い出し時点では、富士通用/お客様用の管理者アカウントが1アカウントずつ登録

されていますが、富士通用の管理者アカウントは課金対象外です。※2 該当料金月のアクティブユーザー数に対して課金を行います。

毎月1日のUTC0時(JST(日本時間)の9時 )時点のアクティブユーザー数を集計します。

•オプションメニューを利用する場合は選択メニューに応じた料金がかかります。

例)100ユーザーで利用した場合基本料金 +(100ユーザー × ユーザーライセンス料金)

ユーザー数

金額

基本料金→

+オプション料金

24

Copyright 2017-2018 FUJITSU LIMITED

プラン変更/オプション適用について

プラン変更/オプション適用方法

基本料金のプラン変更やデータディスク拡張オプションの適用をご希望のお客様は、FUJITSU Cloud Serviceポータルよりお申し込みください。

注意事項

基本料金:ベーシック/スタンダード⇔アドバンスドの変更の場合

•申込受付後、ご利用中のGitHub Enterprise環境に対して設定変更が実行されます。これに伴い、10分程度環境にアクセスできなくなります。

基本料金:スタンダード/アドバンスド⇒ベーシックへの変更の場合

•適用中の「アクセス元IP制御設定」、「FQDN/証明書持ち込み設定」は自動的に解除されます。

•「FQDN/証明書持ち込み設定」を適用中のお客様は、申込受付後、ご利用中のGitHub Enterprise環境に対して設定変更が実行されます。これに伴い、10分程度環境にアクセスできなくなります。

データディスク拡張オプションを適用する場合

•申込受付後、ご利用中のGitHub Enterprise環境に対して設定変更が実行されます。これに伴い、20分程度環境にアクセスできなくなります。

25

Copyright 2017-2018 FUJITSU LIMITED

各種設定の適用について

申込・変更・解除方法

以下の設定の申込・変更・解除を希望のお客様は、ヘルプデスクにお問い合わせください。

•アクセス元IP制御設定

•FQDN/証明書持ち込み設定

ヘルプデスクにお問い合わせ頂いたお客様に、申請書を送付いたします。

申請書送付日から3営業日以降を設定の適用日として指定できます。

26

Copyright 2017-2018 FUJITSU LIMITED

制限事項・注意事項

本サービス提供時に登録されているユーザーアカウントについては、削除しないようにご注意ください。

本サービスの提供リージョンについては、FUJITSU Cloud Service for OSS公開ホームページのサービス仕様書をご参照ください。

お申込みから利用開始までにかかる期間は以下のとおりです。

FUJITSU Cloud Serviceポータルのサービス利用設定申込画面から利用申込後 約6営業日

27