書店員向け情報 HELP
出版者情報
書店注文情報
GitHub Enterprise 設定・管理 大全
- 書店発売日
- 2025年11月10日
- 登録日
- 2025年8月25日
- 最終更新日
- 2025年10月24日
紹介
本書は、GitHub Enterpriseを企業で利用する際に役立つ設定・管理のノウハウをまとめた解説書です。GitHubは当初個人エンジニアを中心に利用されてきましたが、Microsoft 社による買収後、同社のビジネスツールの1つとして企業での利用も増えてきています。企業におけるGitHub Enterpriseを安全にかつ効率的に利用するために必要なケーススタディから、GitHub Enterpriseの運用管理におけるポイントまで解説しています。
目次
◎0章 GitHub Enterpriseによる開発組織の改革と実践
0-1 現代のソフトウェア開発を取り巻く状況
0-2 DXの先にある「ソフトウェア中心の世界」
0-3 ソフトウェア開発の中心にあるGitHub
0-4 多くの現場で眠っているGitHubの真価
0-5 IT部門と開発現場の「乖離」という問題
0-6 ツールは触媒となり、企業文化を変える
◎第1章 GitHub Enterpriseの基礎知識
1-1 GitHubとは
1-1-1 GitHubの思想は「プロジェクトから個人へ」
1-1-2 Pull Requestのメリット
1-2 DXにおいてGitHubが必要とされる理由
1-2-1 バージョン管理の対象はソースコードからインフラへ
1-2-2 GitHubは単なるバージョン管理ツールではない
GitHub ActionsとGitHub Packages
GitHubのセキュリティ機能
1-2-3 統合開発プラットフォームとして広く受け入れられる GitHub
1-3 GitHubの利用形態と料金プラン
1-3-1 適切なGitHubを利用するための3つの軸
1-3-2 GitHubにおけるユーザーとOrganizationの考え方
1-3-3 GitHubの3つのサービス形態
1-3-4 GitHubの各プランの違い
個人向けプラン
チーム・組織(Organization)向けプラン
◎第2章 ケーススタディから学ぶGitHub Enterprise活用の最適解
2-1 企業におけるGitHub Enterprise利用の現状
2-1-1 個人開発者の標準ツールとなったGitHub
2-1-2 企業でGitHubを使う際の課題
2-1-3 チームや企業の規模によって要件は変わる
2-2 ケーススタディから学ぶGitHub Enterprise利用の最適解
Case.1 正社員と契約社員とでリポジトリの見える範囲を変えたい
Case.2 Teamを階層構造にして効率的に権限管理したい
Case.3 Teamの管理をLDAPで自動化したい
Case.4 SAML/SCIMでユーザー管理を自動化したい
Case.5 LDAP/SAMLのユーザーと別の手段でログインするユーザーを共存させたい
Case.6 私用メールアドレスなどに通知が漏れるのを防ぎたい
Case.7 IPアドレスを制限したい
Case.8 手間を掛けずに監査ログをとりたい
Case.9 Gitの操作についてログを確認したい
Case.10 GitHubのコンプライアンスレポートを手軽に取得したい
Case.11 OSSの脆弱性を自動で検知・修正したい
Case.12 AWSなどのトークンがリポジトリに漏洩するのを防ぎたい
Case.13 GitHub上から機密情報の履歴を完全に消したい
Case.14 意図していないライセンスが含まれていないか横断的にチェックしたい
Case.15 企業内で一貫したポリシーを適用したい
Case.16 社内の全コードを横断して検索したい
◎第3章 GitHubの基本構造 ― チームで使うための基礎知識
3-1 GitHubを構成するプロダクト
3-1-1 多種多様なプロダクト
3-1-2 本書におけるプロダクトの定義
3-2 Enterpriseプラン
3-2-1 Enterpriseプランの契約形態
3-2-2 Enterpriseプランで利用範囲・機能が拡張される主な機能
3-2-3 Enterprise Accountとは
3-2-4 Enterprise Accountのメニュー
Organizationsメニュー
Peopleメニュー
リポジトリ関連のポリシー
メンバー権限のポリシー (Member privileges)
CodespacesおよびCopilotのポリシー
GitHub Actionsのポリシー
GitHub Projectsのポリシー
セキュリティ関連のポリシー
その他
GitHub Connectメニュー
Security(Code Security)メニュー
Billing&Licensingメニュー
Enterprise Accountの基本設定
認証セキュリティの設定 (Authentication Security)
Enterprise Accountの管理機能
Complianceメニュー
Insightsメニュー
3-2-5 GHESのEnterprise Account
GitHub Connect
3-3 権限管理の考え方
3-3-1 権限(ロール)の全体構造
System Admin
Site Admin
3-3-2 リポジトリにおける権限の考え方
GHES固有の設定(Private mode)
GitHub.com(GHECを含む)とGHESにおける可視性
Base Permissions
3-3-3 Teamに関わる権限の考え方
Teamsによる権限管理
Teamに設定可能な権限
Outside collaboratorに対する一時的な権限付与
3-3-4 シナリオ別の権限設定例
シナリオ1
シナリオ2
Enterpriseプラン以外の場合
◎第4章 開発チーム管理の効率化、Organizationの使い方
4-1 Organizationとは
4-1-1 Organizationの位置付け
4-1-2 Organizationの利用を検討すべきタイミング
個人でGitHubを使う場合
企業でGitHubを使う場合
4-2 Organization
4-2-1 Overviewタブ
4-2-2 Repositoriesタブ
4-2-3 Projectsタブ
4-2-4 Packagesタブ
4-2-5 Teamsタブ
4-2-6 Peopleタブ
4-2-7 Securityタブ
4-2-8 Insightsタブ
GHECの場合
GHESの場合
4-2-9 Settingsタブ
4-3 Team
4-3-1 Membersタブ
4-3-2 Teamsタブ
4-3-3 Repositoriesタブ
4-3-4 Projectsタブ
4-3-5 Organization rolesタブ
4-3-6 Settingsタブ
Generalメニュー
Code reviewメニュー
Scheduled remindersメニュー
4-4 Projectsを使ったプロジェクト管理
4-4-1 2種類のProjects
4-4-2 新旧Projectsの相違点
4-4-3 Projectsの用途
4-4-4 Projectsの利用開始
4-4-5 Projectsのビュー
ビューの作成
Visible fieldsとHidden fields
ビューの切り替え
4-4-6 カスタムフィールドの追加
カスタムフィールドの種類
4-4-7 テンプレート
Team backlogテンプレート
Feature releaseテンプレート
4-4-8 Issue/Pull Requestとの関係
リポジトリからIssue/Pull Requestを取り込む
Issue/Pull RequestからProjectsの見え方
4-4-9 自動化機能
4-4-10 インサイト・レポート機能
4-4-11 Projectsの権限管理
◎第5章 GitHub Enterpriseの効果的な運用と管理
5-1 Site Admin
5-1-1 Site Adminとは
5-1-2 Site Admin権限
5-1-3 Site Adminのメニュー
Searchメニュー
Management Consoleメニュー
Audit logメニュー
Exploreメニュー
Reportsメニュー
Indexingメニュー
Repository networksメニュー
File storageメニュー
Reserved loginsメニュー
Advanced Security Committersメニュー
Retired namespacesメニュー
Enterprise overviewメニュー
Repositoriesメニュー
ユーザー関連メニュー
5-1-4 ユーザー詳細のタブメニュー
5-1-5 Adminタブ
Overviewメニュー
Adminメニュー
Emailsメニュー
Avatarsメニュー
Followed usersメニュー
Databaseメニュー
Retired namespacesメニュー
5-1-6 Securityタブ
Securityメニュー
SSH Keys、GPG Keysメニュー
Personal access tokenメニュー
5-1-7 Contentタブ
5-1-8 Collaborationタブ
Organizationsメニュー
Audit logメニュー
Organization affiliationsメニュー
Organization securityメニュー
Collaborating repositoriesメニュー
Collaborationタブのその他のメニュー
5-1-9 Organization詳細のタブメニュー
5-1-10 Adminタブ
Overviewメニュー
Adminメニュー
Emailsメニュー
Domainsメニュー
5-1-11 Securityタブ
Securityメニュー
Members&Teamsメニュー
その他のメニュー
Webhooksメニュー
SSH Certificate Authoritiesメニュー
Repository rolesメニュー
5-1-12 Contentタブ
5-1-13 Repository詳細のタブメニュー
5-1-14 Adminタブ
Overviewメニュー
Adminメニュー
Redirectsメニュー
Searchメニュー
Languagesメニュー
5-1-15 Securityタブ
Securityメニュー
Permissionsメニュー
Webhooks & Servicesメニュー
Deploy Keysメニュー
Protected Branchesメニュー
Push Logメニュー
5-1-16 Collaborationタブ
Networkメニュー
Issues & Pull Requestsメニュー
Issue filesメニュー
Projectsメニュー
Watchersメニュー
Repository Notificationsメニュー
Notificationsメニュー
Dependabot alertsメニュー
Eventsメニュー
5-1-17 Storageタブ
Diskメニュー
Pagesメニュー
Releasesメニュー
Git Large File Storageメニュー
Subversionメニュー
5-1-18 Actionsタブ
Overviewメニュー
Latest runsメニュー
Registered workflowsメニュー
Secretメニュー
Self-hosted runnersメニュー
5-1-19 Site Adminの効果的な使い方
5-2 Management Console
5-2-1 Management Consoleとは
5-2-2 Management Consoleのタブメニュー
5-2-3 Monitorタブ
5-2-4 Maintenanceタブ
Enable maintenance mode
Active processes
Enable and configure IP exception list
5-2-5 Settingsタブ
Password
Login attempt rate limiting
SSH access
Hostname
Time
Authentication
Privacy
Pages
Email
Monitoring
Rate limiting
Applications
Actions
Checks
Packages
Security
Migrations
Mobile
Chat integration
5-2-6 Updatesタブ
5-2-7 Licenseタブ
5-2-8 Supportタブ
5-2-9 User Managementタブ
5-2-10 Sign outタブ
5-3 GHESにおけるインフラ運用機能
5-3-1 GHESにおけるバックアップと可用性担保
5-3-2 インスタンスのバックアップ
BackupUtilsによるバックアップ
スナップショットの取得によるバックアップ
効率的なバックアップの組み合わせ
5-3-3 HAソリューション
HAソリューション利用上の注意点
自動フェイルオーバーの機構は用意されていない
バージョンアップ時にダウンタイムをなくす目的には使えない
5-3-4 Geoレプリケーションとリポジトリキャッシュ
5-3-5 ロードバランサー
負荷分散
TLS証明書の設定
GHESでのロードバランス
◎第6章 GitHubにおけるCI/CD
6-1 Actions/Packages
6-1-1 GitHub Actionsとは
Actionsで使用される用語
6-1-2 GitHub Packagesとは
6-1-3 Actions/Packagesの設定開始と注意事項
6-1-4 Actions/Packagesの仕組み
6-1-5 Actions/Packagesのシステム概要
GHESにおけるActions/Packagesのシステム概要
GHECにおけるActions/Packagesのシステム概要
6-1-6 Runner(ランナー)
GitHub-hosted Runner
Self-hosted Runner
Self-hosted Runnerの集中管理
6-1-7 Actions/Packagesのセキュリティ
Self-hosted Runnerの通信
利用するアクションとの接続
信頼できないコードの実行リスク
6-2 Actions/PackagesによるCI/CDパイプライン構築
6-2-1 表示されるタブ
6-2-2 Actions/Packagesの基本的な使い方
①単純なテストを組み込んでローカルで実行可能にする
②作成したテストをActionsで実行する
③ビルドしたパッケージをGHESのPackagesに公開する
④パッケージの公開をActions内で実行可能にする
6-3 まとめ
上記内容は本書刊行時のものです。
