GitHub Enterprise の使用を開始する
ここでは、ソフトウェア開発プラクティスの改善から、組織内全員のためのスムーズな導入の確保まで、GitHub Enterprise の使用について知っておくべき事柄のすべてを見つけることができます。それでは始めましょう。
本ガイドの内容
GitHub Enterprise (オンプレミスの Enterprise Server、Enterprise Cloud、またはその両方) をインストールして使用を開始する
チームの最初の 30 日から 3 か月間のオンボーディング目標を設定して達成する
初めてのユーザーによくある課題に対処 (および準備) する
プロのヒント
誰もが GitHub Enterprise を簡単に導入できるようにするには、組織全体の「GitHub チャンピオン」グループを特定し、他のチーム メンバーがすぐに始められるよう奨励します。チームによる GitHub の使用が早ければ早いほど、リリースも早くなります。
GitHub のサイトやドキュメント全体で使用される Git および GitHub 固有の用語の詳細については、GitHub 用語集を確認してください。
パート 1: GitHub をインストールする
インストールとセットアップを正しく行うことが、組織が GitHub を効果的に使用するための最初のステップです。インストールの基本に加えて、アカウントの確認、セキュリティ設定の構成、チームの構築準備を行う方法について説明します。
GitHub Enterprise を設定する
GitHub Enterprise Server の使用を開始するには、希望の仮想化プラットフォームに組織のインスタンスをインストールする必要があります。Enterprise Cloud を使用している場合は、GitHub.com で Enterprise Cloud Organization にログインし、ステップ 7 に進みます。
こちらで、プロビジョニングとインストールの詳細をお読みください。
Management Console を使用する
Management Console は、日常的な管理タスクの実行に役立ちます。初期セットアップ、インスタンスの設定、メンテナンスのスケジュールなどを行うためのガイドとして Management Console を使用してください。
こちらで、ウェブベースの Management Console に関する詳細をお読みください。
GitHub Enterprise インスタンスのユーザーを認証する
Enterprise Server のビルトイン認証、または既存の LDAP、SAML、CAS から認証方法を選択します。チームに適切な方法がわかりませんか? 認証方法はいつでも切り替え可能です。
こちらで、GitHub Enterprise インスタンスのユーザー認証についてお読みください。
高可用性のために設定する
可能な限り最大の稼働時間を実現しましょう。Enterprise Server インスタンスを高可用性のために設定することで、ハードウェアの故障や大規模なネットワーク障害によってサービスが中断されないようにします。
詳細については、「高可用性の構成」をお読みください。
バックアップとディザスター リカバリーを指定する
保護を強化するために、GitHub Enterprise Server Backup Utilities を設定しましょう。そうすることで、Enterprise Server インスタンスを Linux または Unix ホストシステムにバックアップすることができるようになります。これらのシステムは、異なる地域に設置されていることが理想的です。
こちらで、バックアップとディザスター リカバリーの詳細をお読みください。
Geo-replication を使用する
組織のオフィスが複数の地域に存在する場合は、GitHub Enterprise Server の Geo-replication が異なるホストとロケーション間におけるレイテンシーの削減に役立ち、チームに必要なデータをすばやく提供することができます。Geo-replication を使用するには、位置認識機能を備えた DNS を使用する必要もあります。
詳細については、「Geo-replication について」をお読みください。
Git アカウントと GitHub アカウントを確認する
Enterprise Server と Enterprise Cloud のどちらを使用しているかに応じて、サインインしてからプライマリ メール アドレスを検証、またはインスタンスを設定して、issue、プルリクエスト、コミットコメントに関するEメール通知を送信します。
こちらで、Git と GitHub の設定に関する詳細をお読みください。
SSH を使用して GitHub に接続する
GitHub は、ユーザー名とパスワードを毎回提供せずに使用することができます。SSH プロトコルを使用して GitHub アカウントに新しい SSH キーを追加し、認証エージェントを設定します。
詳細については、「SSH を使用した GitHub への接続」を参照してください。
パート 2: チームを管理する
協力することで、チームはより優れたソフトウェアをより迅速にビルドし、リリースできるようになります。しかしコラボレーションの成功にはいくつかの重要な要因が必要です。それは、コミュニケーション、コントリビューション、管理です。GitHub Enterprise は、組織にとってベストな方法でそれらを全て管理できるツールを提供します。
実りあるコラボレーションのために人材を組織する
GitHub の階層は、個々のユーザー、組織、チームで構成されており、それぞれが GitHub で開発者がどのようにコラボレートし、コミュニケートするかにおける役割を担っています。
まず、組織内のユーザーを複数の GitHub チームにグループ化することから始めます。どこから始めたらよいかわからない場合は、現在の組織構造や作業グループを反映するチームを作成してください。次に、チームがアクセスできる GitHub リポジトリを決定します。リポジトリは、チームがコード レビューを行い、お互いの進捗状況に関するフィードバックを提供して、進行中の作業について話し合う場所です。
GitHub は、チームが絶え間なく役割を変更し、新しいプロジェクトを引き受けていることを理解しています。必要なときはいつでも新しいチームを作成し、リポジトリ権限を管理することが可能です。
チームのインサイトを取得する
チームのインサイトは、組織内で起こっている事柄と、その理由を理解するために役立ちます。Enterprise Server または Enterprise Cloudで は、Insights タブを使用することで、Pulse を通じてすべてのリポジトリ アクティビティの要約を確認することができます。Pulse は、チームが issue をクローズし、プルリクエストをマージして、作業を完了する頻度を表示するので、ワークフロー内のパターン (または潜在的な問題) を簡単に特定できます。
Enterprise Server を使用している場合は、Activity ダッシュボードをチェックして、新しいプルリクエスト、マージされたプルリクエスト、新しい issue、クローズされた issue などの数に関する週間、月間、年間グラフを確認することもできます。
詳細については、「アクティビティ ダッシュボード」をお読みください。
管理ツールについて学ぶ
複数の GitHub 製品をお使いですか? GitHub Connect の機能であるユニファイド ビジネス アイデンティティを使用して、すべての GitHub アカウントを監視しましょう。管理者は、組織が独自のサーバーとクラウドのどちらにデプロイするかにかかわらず、単一のインターフェイスで全体的な請求、ライセンス、権限を管理し、ビジネス ポリシーを適用することができます。
ユニファイド ビジネス アイデンティティは、アカウントの組織設定に記載されています。ここでは、ユーザー アクセス、認証、その他の組織詳細も管理できます。
こちらで、ビジネス ポリシーの適用とロールベースの権限に関する詳細をお読みください。
サポートとトレーニング ヘルプを見つける
新しいソフトウェア プラットフォームのオンボーディングはエキサイティングな機会です。GitHub では、オンボード初日から共同で構築を開始できるようにしたいと考えています。このページで回答を得られなかった質問があれば、GitHub Support Team までお問い合わせください。GitHub プランによっては、通常の営業時間外におけるオンデマンド ヘルプのために Premium Support に連絡することも可能です。
こちらで、Enterprise Support と Premium Support の詳細をお読みください。
追加のトレーニングをお探しですか? GitHub Professional Services Team は、よりスマートに働くために必要なスキルとの橋渡し役を務めます。大規模な社員教育をお探しの場合は、フレンドリーな GitHub Learning Lab ボットが、短期間の実践的なプロジェクトを通して開発者が学び、新しいスキルを活かすためのお手伝いをします。
こちらで、Professional Services および Learning Lab for Organizations の詳細をお読みください。
パート 3: 安全にビルドする
セキュリティは、新しいアプリケーションの一行目のコードを書く時からリリースに至るまで、チームとしての取り組みです。イノベーションを損なうことなく、組織のコンプライアンス基準に合わせて GitHub Enterprise インスタンスを簡単にカスタマイズできます。独自の権限レベル、監査ログ、組み込み機能などを使用して、チームがセキュリティを最優先にビルドできるようにします。
セキュアなワークフローを設定する
組織としてのコラボレーションにチームを招待したら、組織のアカウントを所有して管理を助ける人物を決定します。管理アクセス、請求上のニーズ、使用する予定のさまざまな GitHub App に基づいて、組織の権限レベルを設定してください。派遣社員を外部コラボレーターとして追加することも可能です。
こちらで、組織の権限レベルと、ユーザー アカウントが所有するリポジトリの詳細をお読みください。
次に、作業を保護します。保護されたブランチを使用して、リポジトリに対する取消し不能な変更が誰からも行われないことを確実にします。これは、特定のセキュリティ チェックに合格しなければ、ブランチやプルリクエストをマージできないことを意味します。これらのチェックにはステータスチェック必須機能が含まれており、コードのすべてが保護されたブランチへのマージ前に合格する必要があります。ブランチ保護、ステータスチェック必須機能、ブランチ制限は、組織の設定内でセットアップできます。
こちらで、保護されたブランチ、ステータスチェック必須、ブランチ制限の詳細をお読みください。
コンプライアンスを維持する
ステータスチェック必須機能も、チームが組織のコンプライアンス基準に従い、それらを実施するために役立ちます。これらのチェックとその他の機能を使用することで、コンプライアンス ワークフローを自動化し、受け入れ前にコミットを検証して、チームが反復可能かつ追跡可能なプロセスを使用して構築していることを確実にします。組織の監査ログも、チームの作業のレビューを容易にします。誰がアクションを実行し、それがどのようなアクションで、いつ実行されたかを確認してください。
詳細については、「組織の Audit log をレビューする」と、コミットの検証および pre-receive フックについてお読みください。
Enterprise Cloud を使用していますか? GitHub には SOC for Service Organizations レポートがあり、Enterprise Cloud は AICPA の Service Organization Controls (SOC) 2 Type 1 と SOC 1 Type 1 に準拠しています。Enterprise Cloud は、FedRAMP Tailored のセキュリティ制御ベースラインによる認定も受けています。
こちらで、SOC レポートと FedRAMP 認定の詳細をお読みください。
セキュア開発機能を使用する
脆弱性に関するセキュリティ アラート、トークン スキャン、および GitHub Security Advisory API といった GitHub の組み込みのセキュア開発機能を使用して、セキュアな構築を実現しましょう。プロジェクトに既知の脆弱性との依存関係がある場合には、通知を受け取ります。これには、GitHub コミュニティから提案された修正が含まれています。トークン スキャンも、トークンとキーが誤ってコミットされたり、パブリック リポジトリに公開されたりすることが一切ないことを確実にし、GitHub Security Advisory API は、最新の GitHub セキュリティ更新をユーザー独自のプロジェクトに統合します。
こちらで、脆弱性に関するセキュリティ アラート、トークン スキャン、および Security Advisory API の詳細をお読みください。
パート 4: 共同作業
GitHub Enterprise では、チームはどこからでもプロジェクトで共同作業できます。問題、ブランチ、コミット、プル リクエストなどの機能により、どこにいてもコードについて議論したりレビューしたりできます。さらに、プロジェクトの管理とリリースは、外部のプロジェクト管理ツールなしで、 GitHub 内で直接行えます。
GitHub Flow を理解する
GitHub Flow はブランチベースの軽量なワークフローで、コードにすばやく変更を加えてデプロイするために役立ちます。ブランチ、コミット、およびプルリクエストを使用することで、コードに対する変更を提案し、フィードバックを要請して、コメントを残すとともに、変更が受諾される前にをそれらをレビューすることもできます。再確認が必要だと思われるものがある場合は、チーム アカウントまたは個々のユーザーにいつでもタグ付けすることができ、タグ付けされたアカウントやユーザーは即座に通知を受け取ります。
詳細については、「GitHub フロー」、「人や Team のメンション」、および「コード レビュー」をお読みください。
作業をレビューして話し合う
ブランチ、コミット、およびプルリクエストとともに、issue も GitHub での作業の追跡と管理に役立ちます。新しい issue を作成する、重要な issue をプロジェクトのトップにピン留めする、またはチームが既に開始している issue を使用してコラボレートします。Issue (およびプルリクエスト) の数はあっという間に増えるため、作業を分類して優先順位を付けるために固有のラベルを使用するようにしてください。
こちらで、issue と、issue およびプルリクエストへのラベルの追加に関する詳細をお読みください。
作業を計画して追跡する
プロジェクト マネージャーと開発者は、それぞれの作業の調整、追跡、更新のすべてを同じ場所で実行することができます。関連する issue、プルリクエスト、およびメモが記載されたプロジェクト ボードを GitHub で作成してから、マイルストーンを使用してチームの目標に向けた進捗状況を追跡します。プロジェクトを公開する準備が整ったら、ソフトウェア、リリースノート、およびバイナリファイルへのリンクを単一のリリースにパッケージ化します。
こちらで、プロジェクト ボード、マイルストーン、およびリリースの詳細をお読みください。
パート 5: GitHub と統合する
既に GitHub を愛用しているチームもあるかもしれませんが、日々のビルドに使用している他のツールもあると思います。レガシー ソリューションを統合する場合でも、GitHub Marketplace で新しいアプリケーションを見つける場合でも、チームがベスト パフォーマンスを発揮するために必要なツールを簡単に見つけて接続できます。
GitHub Actions で自動化する
特定のタスクでチームが必要なツールが見つかりませんか? 独自のアプリケーションを構築する必要はありません。その代わりに、GitHub プラットフォームで実行されるオートメーション ワークフローである GitHub Actions を使用しましょう。GitHub Actions は、プッシュ、issue、リリースといった特定のイベントによってトリガーされます。アクションを作成した後は、他の人が使用できるように GitHub Marketplace で提供することも可能です。
こちらで、GitHub Actions と最初の Action の作成を開始することに関する詳細をお読みください。
アプリを GitHub に統合する
GitHub は 1,000 個を超えるサードパーティ アプリケーションと統合しており、これには CircleCI、Jenkins、Jira、ZenHub などのトップレベルの業界ツールが含まれます。複数のアカウントや支払い方法を設定することなく、チームが既に活用しているツールを用いて構築、または新しいツールを発見することができます。組織アカウントまたはユーザーアカウントに数秒でアプリをインストールしてから、選択したリポジトリへのアクセス権をアプリに付与します。
こちらで、GitHub と統合するツールと、事前構築済みのインテグレーションに関する詳細をお読みください。
GitHub API を使用する
GitHub の構築に使われるものと同じ API を使用して、独自のツールを作成します。完全な GitHub API 一式を使用することで、組み込みの webhook で個々の GitHub App を設定し、コード変更に対するチェックを実行して、あらゆるタイプのインテグレーションを開発しましょう。
こちらで、GitHub App、GraphQL API、チェック API、デプロイメント API、および webhook の詳細をお読みください。
パート 6: オープン ソースに貢献する
オープン ソース ソフトウェアは至るところにあります。チームが既に使用しているアプリケーションや言語を含む、現代の全てのソフトウェアの 50% 以上をオープン ソースが支えています。オープン ソースへの参加はこれまでよりも簡単です。GitHub Enterprise インスタンスは、チームを GitHub.com 上の革新的なオープン ソース プロジェクトおよび優秀な人材と自動的に結び付けます。オープン ソース コードを見つけて使用する方法、プロジェクトを世界と共有する方法、GitHub オープン ソース コミュニティが提供する機能を最大限に活用する方法の全てを、安全なファイアウォールの内側で学びましょう。
オープン ソースに貢献する
あらゆるサイズの組織がオープン ソースに貢献しています。Enterprise Server を使用しているか Enterprise Cloud を使用しているかにかかわらず、GitHub Connect と統合検索を使用することで、プライベート プロジェクトとともに、何百万ものオープン ソース プロジェクトからコードや問題などを検索することができます。
こちらで、統合検索機能、オープン ソース ガイドライン、オープン ソース組織の詳細をお読みください。
GitHub コミュニティとつながる
3,000 万人を超える開発者が GitHub を使用していますが、居場所を見つけてつながりを維持することは簡単です。次に取り組むプロジェクトを見つけ、トレンドを把握し、GitHub コミュニティの最新情報をチェックするためのガイドとして、GitHub Explore を使用してください。
こちらで、GitHub Explore の詳細を学びましょう。
ユーザーを管理する
GitHub エクスペリエンスはユーザーが創り出すものです。アバターを追加したり、ユーザー プロフィールで個人的な関心を共有して、GitHub で志を同じくする人たちとつながりましょう。職場のチームも、GitHub コミュニティの他のチームとプロジェクトを共有できます。GitHub Connect のもう一つの機能である統合コントリビューションは、開発者がオープン ソースと Enterprise プロファイルを紐づけることを可能にします。統合コントリビューションを使用することで、チームはそれぞれが取り組んだパブリック プロジェクトとプライベート プロジェクトを共有して、その取り組みに見合った評価を受けることができます。
こちらで、ユーザー プロフィール、統合コントリビューション、コントリビューション グラフの詳細をお読みください。
パート 7: サポートを得る
おめでとうございます。これで、GitHub でビルドを開始する準備ができました。🎉 最初のプロジェクトを立ち上げる前に、アップデート、サポート、インスピレーションを得られる GitHub の人気ツールとリソースを確認してください。ご質問がある、またはサポートが必要な場合は、こちらへお問い合わせください。
GitHub とのつながりを保つ
最新の GitHub リリースをお探しですか? それとも GitHub ユニバースで起きている事柄に関心がありますか? 総合的な GitHub ブログ、GitHub Engineering ブログ、GitHub のソーシャルメディア チャネルで最新情報を入手しましょう。便利なツールや職場で GitHub を使用するための秘訣については、GitHub Resources ハブで無料の e ブック、ウェビナー、チェックリストなどをご用意しています。
GitHub ブログ、GitHub Changelog、GitHub Engineering ブログ、GitHub Resources をチェックして、X (旧 Twitter) と YouTube で GitHub を検索してください。
GitHub Learning Lab でチームの知識を高める
プラットフォームを出ることなく、GitHub の使用方法をチームに教えます。GitHub Learning Lab は、フレンドリーな Learning Lab ボットの助けを借りて、開発者がスキルを次のレベルに引き上げるための支援を提供します。カスタマイズされたプライベート コースを組んで、生産性を向上させ、より優れたソフトウェアを構築するために必要なツールをチーム メンバー全員に提供しましょう。
詳細については、「Learning Lab」をお読みください。
GitHub エキスパートからサポートとテクニカル トレーニングを受ける
より実践的なトレーニングが必要ですか? Professional Services Team は、エンジニアリング コンサルティングと、GitHub エキスパートが教える対面クラスの両方を提供しています。初期設定から GitHub API の使用まで、組織の GitHub ジャーニーにおけるあらゆるステージを通じてガイダンスを提供します。
こちらで、Professional Services の詳細をお読みください。
GitHub Enterprise Support ポータルを使用する
ドキュメントの検索や、テクニカル エンジニアとのサポートチケットの開始をいつでも行うことができます。サポートチケットは、Enterprise Server と Enterprise Cloud のどちらを使用しているかに応じて、 GitHub Enterprise Server Management Console、または Enterprise Support ポータルから開始することが可能です。
こちらで、GitHub Enterprise Support の詳細をお読みください。