オンボーディングガイド | GitHub Resources

オンボーディングガイド

GitHub Enterpriseの設定

GitHub Enterpriseを社内で使用するために必要な情報を提供します。では、始めましょう。

まだGitHub Enterpriseを使用していない場合は、営業にお問い合わせください。

このガイドでは、次のことについても学習します。

  • GitHub Enterprise(オンプレミス版Enterprise ServerとEnterprise Cloudのいずれかまたは両方)のインストールおよび使用の開始
  • チームの30日から3か月間のオンボーディング目標の設定および達成
  • 初めて使用するユーザーの一般的な課題への対処(および準備)

プロのヒント:

  • 迅速にGitHub Enterpriseを導入できるようにするには、企業内で「優秀なGitHubユーザー」のグループを特定し、このグループが他のチームメンバーに早急に始めることを勧めるようにします。チームでのGitHubの使用が早いほど、リリースも早くなります。
  • サイトやドキュメントで使用しているGitおよびGitHub固有の用語の詳細については、GitHub用語集をご覧ください。

パート1:GitHubのインストール

企業がGitHubを効果的に使用できるようにするための第一歩は、正しくインストールし、設定することです。インストールの基本に加え、アカウントを検証する方法、セキュリティ設定を構成する方法、およびチームの開発準備を整える方法について詳しく説明します。

目標

  1. GitHub Enterpriseの設定

    GitHub Enterprise Serverの使用にあたり、選択した仮想化プラットフォームに自社のインスタンスをインストールする必要があります。Enterprise Cloudを使用している場合は、GitHub.com上のEnterprise Cloudの組織にログインして、ステップ7に移動します。

    詳細については、プロビジョニングとインストールをご覧ください。

  2. Management Consoleの使用

    Management Consoleは、日常の管理タスクに役立ちます。Management Consoleを使用して、初期設定、インスタンスの構成設定、メンテナンスのスケジュールなどを実行します。

    詳細については、WebベースのManagement Consoleをご覧ください。

  3. GitHub Enterpriseインスタンスのユーザーの認証

    認証方法には、Enterprise Serverの組み込みの認証、または既存のLDAP、SAML、CASのいずれかを選択できます。どの方法がチームに適しているか不明な場合は、いつでも切り替えることができます。

    詳細については、GitHub Enterpriseインスタンスのユーザー認証をご覧ください。

  4. 高可用性の構成

    潜在的な稼働時間を最大化しましょう。高可用性を実現するようにEnterprise Serverインスタンスを構成すると、ハードウェア障害や重大なネットワーク障害が発生してもサービスが中断することはありません。

    詳細については、高可用性構成をご覧ください。

  5. バックアップとシステム災害復旧の指定

    追加の保護レイヤーとして、GitHub Enterprise ServerのBackup Utilitiesを設定します。Enterprise ServerインスタンスのバックアップをLinuxまたはUnixホストシステムに作成できます。地理的な場所が異なれば理想的です。

    詳細については、バックアップとシステム災害復旧をご覧ください

  6. Geo-Replicationの使用

    自社の事務所が複数の場所にある場合、GitHub Enterprise ServerのGeo-replicationを使用すると、異なるホストや場所間の遅延が低減され、チームは必要なデータをすばやく入手できるようになります。Geo-replicationを使用するには、地理位置情報認識DNSを使用する必要もあります。

    詳細については、Geo-replicationをご覧ください。

  7. GitアカウントとGitHubアカウントの確認

    Enterprise ServerまたはEnterprise Cloudのどちらを使用しているかに応じて、サインインしてメインのメールアドレスを検証するか、またはIssue、Pull Request、およびコミットコメントのメール通知を送信するようにインスタンスを設定します。

    詳細については、GitとGitHubの設定をご覧ください。

  8. SSHを使用したGitHubへの接続

    毎回ユーザー名とパスワードを入力することなく、GitHubを使用できます。SSHプロトコルを使用して、新しいSSHキーをGitHubアカウントに追加し、認証エージェントを設定します。

    詳細については、SSHを使用したGitHubへの接続をご覧ください。

パート2:チームの管理

コラボレーションにより、チームはより優れたソフトウェアを迅速に開発しリリースできます。しかし、コラボレーションが成功するかどうかは、コミュニケーション、コントリビューション、および管理という重要な要因にかかっています。GitHub Enterpriseは、企業に最適な方法でこれらをすべて管理するツールを提供します。

目標

  1. コラボレーションを成功させるための人材の組織化

    GitHub階層は、個人ユーザー、組織、およびチームで構成され、GitHub上での開発者のコラボレーションおよびコミュニケーションにおいてそれぞれの役割を果たします。

    まず、企業内の個人ユーザーをGitHubチームにグループ化します。どこから始めたらよいか不明な場合は、現在の組織構造またはワーキンググループを反映するチームを作成します。次に、チームがアクセスするGitHubリポジトリを決定します。リポジトリは、チームがコードレビュー、互いの進捗に関するフィードバックの提供、進行中の作業に関するディスカッションを実施する場所です。

    チームは絶えず役割を変え、新しいプロジェクトを始めます。必要に応じて新しいチームを作成し、リポジトリの権限を管理できます。

    詳細については、チームおよびリポジトリをご覧ください。

  2. チームの詳細情報の把握

    チームの詳細情報は、チーム内で何が起こっているか、およびその理由についての理解に役立ちます。Enterprise ServerまたはEnterprise Cloud上で、[Insights]タブを使用して、Pulseを通じてすべてのリポジトリ活動の概要を表示できます。Pulseには、チームがIssueをクローズする回数、Pull Requestsをマージする回数、作業を完了する回数が表示されます。それにより、ワークフロー内のパターン(または潜在的な問題)を容易に特定できます。

    Enterprise Serverを使用している場合は、アクティビティダッシュボードを確認して、新しいPull Request、マージされたPull Request、新しいIssue、クローズされたIssueなどの数を示す週次、月次、および年次グラフを表示することもできます。

    詳細については、アクティビティダッシュボードをご覧ください。

  3. 管理ツールの理解

    複数のGitHub製品を使用している場合は、GitHub Connectの機能の1つであるUnified Business Identityを使用して、すべてのGitHubアカウントを管理できます。管理者は単一のインターフェイスで、料金、ライセンス、および権限の管理や、ビジネスポリシーの実施ができます。組織が独自サーバーに配置されているか、クラウドに配置されているかは関係ありません。

    Unified Business Identityは、使用しているアカウントの組織設定の下にあります。ここで、ユーザーアクセス、認証、および他の組織の詳細情報も管理できます。

    詳細については、ビジネスポリシーの適用およびロールベースの権限をご覧ください。

  4. サポートとトレーニングヘルプ

    新しいソフトウェアプラットフォームのオンボーディングはエキサイティングです。私たちは、初日からメンバーが協力して開発を始めることができるようにと考えています。解決できていない不明点がある場合は、GitHubサポートチームにご連絡ください。GitHubプランによっては、通常の営業時間外にオンデマンドヘルプのPremium Supportに連絡することもできます。

    詳細については、Enterprise SupportとPremium Supportをご覧ください。

    追加のトレーニングをお探しですか?GitHub Professional Services Teamは、ユーザーと、企業がよりスマートに作業するために必要なスキルをつなげることができます。従業員教育をお探しの場合は、使いやすいGitHub Learning Labのボットにより、短い実践的なプロジェクトを通じて新しいスキルを学び、取り入れることができます。

    "詳細については、Professional Servicesおよび企業向けLearning Labをご覧ください。

パート3:安全な開発

セキュリティは、コードの書き始めからアプリケーションのリリースまで、チームが取り組む作業です。組織のコンプライアンス標準に合うようにGitHub Enterpriseインスタンスを容易にカスタマイズできます。その一方、イノベーションを損なうことはありません。独自の権限レベル、Audit log、標準機能などでセキュリティ第一の開発を行うよう、チームを設定します。

目標

  1. 安全なワークフローの設定

    組織としてコラボレーションするためにチームを招待した後、誰がOrganizationのアカウントの管理者とするかを決めましょう。管理昨日へのアクセス、支払いプロセス、および使用する予定のGitHub Appsに基づき、Organizationの権限レベルを設定します。また、派遣社員を外部のコラボレーターとして追加できます。

    権限設定の詳細については、Orgamizationの権限レベルおよびユーザーアカウントのリポジトリの権限レベルをご覧ください。

    次に、作業を保護します。保護されたブランチを使用すると、取消不可能な変更をリポジトリに加えることができないように、つまり、セキュリティチェックを通さずにブランチまたはPull Requestをマージできないようにすることができます。これらのチェックには、必須のステータスチェックが含まれます。すべてのコードは、保護されたブランチにマージされる前に、これにパスする必要があります。リポジトリの設定にてブランチ保護、必須のステータスチェック、およびブランチ制限を設定できます。

    詳細については、保護されたブランチ必須ステータスチェック、およびブランチ制限をご覧ください。

  2. コンプライアンスの維持

    必須のステータスチェックは、チームが組織のコンプライアンス標準を守り実施するのにも役立ちます。これらのチェックなどを使用して、コンプライアンスのワークフローを自動化し、受け入れ前にコミットを検証することで、チームが反復可能で追跡可能なプロセスを使用して確実に開発できるようにします。組織のAudit logにより、チームの作業も容易にレビューできるようになります。誰がアクションを実行したか、そのアクションは何か、いつ実行されたかを把握できます。

    詳細については、組織のAudit logのレビューコミット署名、およびpre-receiveフックをご覧ください。

    Enterprise Cloudを使用している場合、GitHubにはSOC for Service Organizationsレポートがあり、Enterprise CloudはAICPA Service Organization Controls (SOC) 2タイプ1およびSOC 1タイプ1に準拠しています。また、Enterprise Cloudは、FedRAMP Tailoredのセキュリティ制御の基準を満たしています。

    詳細については、SOCレポートおよびFedRAMP認証をご覧ください。

  3. 安全な開発機能の使用

    脆弱性のセキュリティアラート、トークン・スキャニング、GitHub Security Advisory APIなど、GitHubに組み込まれているセキュアな開発機能を使用して安全に開発できます。プロジェクトに既知の脆弱性を持った依存関係があれば、通知を受け取ることができます。この通知には、GitHubのコミュニティによる解決策も提示されています。また、トークン・スキャニングは、トークンやキーが誤ってコミットされ、パブリックリポジトリに公開されないようにします。一方、GitHub Security Advisory APIは、最新のGitHubセキュリティアップデートをプロジェクトに組み込みます。

    詳細については、脆弱性のセキュリティアラートトークン・スキャニング、およびSecurity Advisory APIをご覧ください。

パート4:コラボレーション

GitHub Enterpriseを使用すると、チームはどこからでもプロジェクトでコラボレーションできるようになります。Issue、ブランチ、コミット、Pull Requestなどの機能により、場所を問わず、議論およびコードのレビューが可能になります。さらに、外部のプロジェクト管理ツールを使用せずに、GitHub内でプロジェクトとリリースを管理できます。

目標

  1. GitHub Flowの理解

    GitHub Flowは、コードの変更とデプロイをすばやく実行できる、軽量なブランチベースのワークフローです。ブランチ、コミット、およびPull Requestを使用して、変更を受け入れる前に、修正の」提案、フィードバックの要求、コメント、レビューを行うことが出来ます。再検討が必要な場合は、必要に応じてチームやユーザーをメンションすると、すぐに通知が送られます。

    詳細については、GitHub Flowユーザーとチームのメンション、およびコードレビューをご覧ください。

  2. 作業のレビューとディスカッション

    ブランチ、コミット、およびPull Requestに加えて、IssueもGitHub上での作業の追跡および管理に役立ちます。新しいIssueを作成したり、重要なIssueをプロジェクトのトップに表示したり、チームが開いたIssueを使用してコラボレーションすることができます。Issue (およびPull Request)はすぐにまとめられるので、一意のラベルを使用して必ず作業を分類し、優先順位を付けるようにしてください。

    詳細については、IssueおよびIssueおよびPull Requestへのラベルの追加をご覧ください。

  3. 作業の計画と追跡

    プロジェクトマネージャー管理者と開発者は、すべて同じ場所で作業を調整、追跡、および更新できます。関連するIssue、Pull Request、およびノートをまとめてGitHub上にプロジェクトボードを作成し、マイルストーンを使用してチーム目標に対する進捗状況を追跡します。プロジェクトを公開する準備ができたら、ソフトウェア、リリースノート、バイナリファイルへのリンクを1つのリリースにまとめます。

    詳細については、プロジェクトボードマイルストーン、およびリリースをご覧ください。

パート5:GitHubとの統合

チームは既にGitHubに詳しく、愛用しているかもしれませんが、毎日の開発に利用できるツールは他にもあります。従来のソリューションを統合している場合でもGitHub Marketplaceで新しいアプリケーションを探している場合でも、チームがベストの状態で開発するために必要なツールを容易に探して連携できます。

目標

  1. GitHub Actionsによる自動化(ベータ版)

    特定のタスクに必要なツールが見つかりませんか?独自のアプリを開発する必要はありません。GitHubプラットフォーム上で実行するワークフローを自動化するGitHub Actionsを使用できます。Actionsは、プッシュ、Issue、リリースなどの特定のイベントによってトリガーされます。アクションを作成したら、他のユーザーが使用できるようにGitHub Marketplaceで利用可能にすることもできます。

    詳細については、GitHub Actionsおよびパブリックベータへの参加をご覧ください。

  2. アプリとGitHubの統合

    GitHubは、1,000を超えるサードパーティのアプリケーションと統合されています。これには、CircleCI、Jenkins、Jira、ZenHubなど、業界トップのツールが含まれます。チームが既に使用しているツールで開発を行うことも、複数のアカウントや支払い方法を設定せずに新しいツールを見つけることもできます。アプリを組織やユーザーアカウントに数秒でインストールして、選択したリポジトリにアクセスできるようにすることができます。

    詳細については、GitHubに統合されるツールおよびあらかじめ構築されたインテグレーションをご覧ください。

  3. GitHub APIの使用

    GitHubの開発に使用したAPIと同じAPIで独自のツールを作成できます。組み込みのWebhookを使用して個々のGitHub Appを設定したり、コードの変更に対してチェックを実行したり、豊富なGitHub APIを使用してあらゆる種類のインテグレーションを開発できます。

    詳細については、GitHub AppsGraphQL APIChecks APIDeployments API、およびWebhookをご覧ください。

パート6:オープンソースへの貢献

オープンソースソフトウェアは至る所に見られます。現在、皆さんのチームが既に使用しているアプリケーションと言語を含む、全ソフトウェアの50%以上を支えています。オープンソースへの関与は、これまで以上に簡単になっています。GitHub Enterpriseを導入することで、皆さんのチームは自動的に、GitHub.com上の革新的なオープンソースプロジェクトや優れた才能を持った人々と連携できます。オープンソースコードの見つけ方と使用方法、プロジェクトを世界で共有する方法、そして、GitHubのオープンソースコミュニティを最大限活用する方法を学びましょう。これらはすべてお使いのファイアウォールの内側で完結します。

目標

  1. オープンソースへの貢献

    あらゆる規模の企業がオープンソースに貢献しています。GitHub ConnectとUnified Searchを使用することで、Enterprise ServerとEnterprise Cloudのどちらであっても、プライベートプロジェクトだけでなく、何百万ものオープンソースプロジェクトからコードやIssueなどを検索できます。

    詳細については、Unified Searchオープンソースガイド、およびオープンソースプロジェクトを公開している企業をご覧ください。

  2. GitHubコミュニティとの連携

    3,000万人以上の開発者がGitHubを使用していますが、自分の場所を見つけ、連携を維持することは難しくありません。次のプロジェクトを検索したり、現在のトレンドをキャッチアップしたり、またはGitHubコミュニティの新着情報を確認したりするためのガイドとして、GitHub Exploreを使ってみてください。

    詳細については、GitHub Exploreをご覧ください。

  3. ユーザーの管理

    自分のGitHubエクスペリエンスは自分自身だけのものです。アバターを追加して、ユーザープロフィール上で個人的な興味を共有すると、GitHub上で同じ目的を持ったユーザーとつながることができます。作業中のチームは、GitHubコミュニティ全体でプロジェクトを共有することもできます。また、GitHub Connectの機能である統合コントリビューションでは、開発者はオープンソース活動用のプロフィールをつなげることができます。統合コントリビューションを使用すると、チームのメンバーは自分たちが手がけたパブリックプロジェクトとプライベートプロジェクトの貢献度を合計して表示できます。

    詳細については、ユーザープロフィール統合コントリビューション、およびコントリビューショングラフをご覧ください。

パート7:サポートを受ける

これで、GitHub上で開発を開始できるようになりました。 最初のプロジェクトを開始する前に、更新、サポート、および追加のヒントのための人気上位のツールとリソースを確認しましょう。質問がある場合または支援が必要な場合は、リソースをご活用ください。

目標

  1. GitHubとの連携の維持

    最新のGitHubリリースまたはGitHub Universeの新着情報は、一般的なGitHub Blog、GitHub Engineering Blog、およびソーシャルメディアチャンネルで確認できます。仕事でGitHubを使用するときの有益なツールやヒントについては、無料の電子書籍、ウェビナー、チェックリストなどがGitHub Resourcesのハブにまとめられています。

    GitHub BlogGitHub ChangelogGitHub Engineering BlogGitHub ResourcesGitHub Blog –Japanをご覧ください。また、GitHub TwitterGitHub Japan TwitterおよびYouTubeでGitHubの情報を探してください。

  2. GitHub Learning Labによるチームの教育

    GitHubの使い方をチームに教えましょう。プラットフォームを離れる必要はありません。GitHub Learning Labは、使いやすいLearning Labボットにより、開発者のスキルをレベルアップするのに役立ちます。カスタマイズしたプライベートコースを作成することができ、生産性を高めるのに役立つとともに、優れたソフトウェアの開発に必要なツールをチーム全員に提供します。

    詳細については、Learning Labをご覧ください。

  3. さらにハンズオントレーニングが必要な場合は

    Professional Services Teamが、GitHub専門家によるエンジニアリングコンサルティングおよび対面クラスの両方を提供します。初期設定からGitHub APIの使用まで、GitHubの使用のすべての段階について支援します。

    詳細については、Professional Servicesをご覧ください。

  4. GitHub Enterprise Supportポータルの使用

    いつでも、文書を検索したり、技術エンジニアによるサポートチケットを開いたりすることができます。Enterprise ServerまたはEnterprise Cloudのどちらを使用しているかに応じて、GitHub Enterprise Server Management ConsoleまたはEnterprise Supportポータルのいずれかを通じて、サポートチケットを開くことができます。

    詳細については、GitHub Enterprise Supportをご覧ください。