GitHub Teamで始めるチーム開発ガイド(企業向け)
GitHub Teamは、組織アカウントを通じて複数のプロジェクトで同時に協働できる機能です。このガイドでは、組織オーナーとしてGitHub Teamアカウントをセットアップし、設定し、管理する手順を説明します。
1. GitHub.comでのアカウント設定
まず、個人アカウントの作成またはログイン、組織の作成、請求設定を行います。
1.1 組織について
組織は共有アカウントです。企業やオープンソースプロジェクトが複数のプロジェクトで協働する際に使用します。オーナーと管理者は、高度なセキュリティ機能と管理機能を使って、組織のデータやプロジェクトへのメンバーアクセスを管理できます。
1.2 組織を作成してGitHub Teamに登録する
組織を作成する前に、GitHub.comで個人アカウントを作成するか、既存のアカウントにログインする必要があります。
個人アカウントの準備ができたら、組織を作成してプランを選択します。ここでGitHub Teamサブスクリプションを選択します。
1.3 組織の請求を管理する
個人アカウントと組織それぞれで、請求設定、支払い方法、有料機能を個別に管理する必要があります。設定のコンテキストスイッチャーを使用して、異なるアカウント間を切り替えられます。
組織の請求設定ページでは、支払い方法、請求サイクル、請求メールなどの設定を管理できます。また、サブスクリプション、請求日、支払い履歴などの情報を表示できます。ストレージとGitHub Actions実行時間の確認とアップグレードも可能です。
組織の請求設定にアクセスまたは変更できるのは、**owner(オーナー)またはbilling manager(請求管理者)**ロールを持つメンバーのみです。請求管理者は組織の請求設定を管理しますが、組織のサブスクリプションで有料ライセンスを使用しません。
2. メンバーの追加とチームの設定
組織を作成したら、メンバーを招待し、権限とロールを設定します。また、異なるレベルのチームを作成し、組織のリポジトリ、プロジェクト、アプリに対してカスタマイズされた権限レベルを設定できます。
2.1 組織のメンバーを管理する
GitHubの個人アカウントを持っている人なら誰でも組織のメンバーとして招待できます。また、メンバーを削除したり、以前のメンバーを復帰させることもできます。
2.2 組織の権限とロール
組織内のすべての人には、組織へのアクセスレベルを定義するロールがあります。member(メンバー)はデフォルトのロールで、owner(オーナー)とbilling manager(請求管理者)のロール、およびteam maintainer(チームメンテナ)の権限を割り当てることができます。
2.3 チームについて
チームは組織メンバーのグループです。会社やグループの構造を反映するように作成でき、カスケード型アクセス権限とメンション機能を持ちます。組織メンバーはチームに通知を送信したり、レビューをリクエストできます。チームは可視(visible)または秘密(secret)に設定できます。
独立したチームを作成することも、会社や組織の階層を反映した複数レベルのネストされたチームを作成することもできます。
2.4 チーム設定を管理する
チームメンテナを指定して、チーム設定やディスカッションなどの管理を任せられます。チーム設定では、コードレビューの割り当て、チームの可視性の変更、チームのスケジュールされたリマインダーの管理などが可能です。
2.5 リポジトリ、プロジェクト、アプリへのアクセスを付与する
組織が所有するリポジトリに対して、組織メンバー、チーム、外部コラボレータに異なるレベルのアクセス権を付与できます。リポジトリロールを使用します。
また、組織のプロジェクトへのアクセスをカスタマイズしたり、個々の組織メンバーが組織のGitHub Appsを管理できるようにすることもできます。
3. 組織のセキュリティ管理
組織メンバーに二要素認証を推奨または要求し、セキュリティ機能を設定し、組織の監査ログと統合を確認することで、組織のセキュリティを強化できます。
3.1 二要素認証を要求する
組織メンバーが二要素認証を有効にしているかどうかを確認し、組織で二要素認証を要求できます。
3.2 組織のセキュリティ機能を設定する
組織を安全に保つために、GitHubはさまざまなセキュリティ機能を提供しています。セキュリティポリシー、依存関係グラフ、シークレットスキャニング、Dependabotのセキュリティアップデートとバージョンアップデートなどが利用可能です。
3.3 組織の監査ログと統合を確認する
組織の監査ログを使用すると、組織オーナーは組織メンバーが過去180日間に実行したアクションを確認できます。
また、組織にインストールされた統合の権限レベルを確認および設定することもできます。
4. 組織レベルのポリシー設定
4.1 組織ポリシーを管理する
組織内のさまざまなアクションや機能について、権限とポリシーを管理できます。
たとえば、組織のデータを保護するために、組織内でのリポジトリ作成を制限できます。また、組織が所有するプライベートリポジトリのフォークを許可または禁止することもできます。
4.2 リポジトリ変更を管理する
組織内でリポジトリを作成、転送、削除する権限を設定できます。メンバーが作成できるリポジトリのタイプも設定可能です。
また、リポジトリの可視性を変更する機能を制限または許可することもできます。
4.3 組織レベルのコミュニティヘルスファイルとモデレーションツールを使用する
組織用のデフォルトコミュニティヘルスファイルを作成できます。たとえば、CONTRIBUTING.md、CODE_OF_CONDUCT.md、Issueテンプレート、プルリクエストテンプレートなどです。これらのデフォルトファイルは、そのタイプのファイルを含まない組織所有のすべてのリポジトリで使用されます。
GitHubは、コミュニティをモデレートおよび管理するための複数のツールを提供しています。
5. 作業のカスタマイズと自動化
GitHub Marketplace、GitHub API、既存のGitHub機能を使用して、作業をカスタマイズおよび自動化できます。
5.1 GitHub Marketplaceを使用する
GitHub Marketplaceには、機能を追加しワークフローを改善する統合が含まれています。GitHub Apps、OAuth apps、GitHub Actionsなどの無料および有料のツールを https://github.com/marketplace で発見、閲覧、インストールできます。
5.2 GitHub APIを使用する
GitHubには2つのバージョンのAPIがあります。REST APIとGraphQL APIです。GitHub APIを使用して、一般的なタスクを自動化したり、データをバックアップしたり、GitHubを拡張する統合を作成できます。
5.3 GitHub Actionsを構築する
GitHub Actionsを使用すると、GitHubでの開発ワークフローを自動化およびカスタマイズできます。独自のアクションを作成したり、GitHubコミュニティが共有するアクションを使用およびカスタマイズできます。
5.4 GitHub Packagesを公開および管理する
GitHub Packagesは、ソフトウェアパッケージをホスティングするサービスです。パッケージをプライベートまたはパブリックにホスティングし、プロジェクトの依存関係としてパッケージを使用できます。
6. GitHubコミュニティへの参加
GitHubコミュニティには、さまざまな参加方法があります。
6.1 オープンソースプロジェクトに貢献する
GitHubでオープンソースプロジェクトに貢献することで、学習し、教え、さまざまなスキルの経験を積むことができます。詳しくは https://opensource.guide/how-to-contribute/ のOpen Source Guidesを参照してください。
過去の貢献、スター、その他のアクティビティに基づいて、プロジェクトやGood First Issuesのパーソナライズされた推奨事項を、Explore GitHubで見つけられます。
6.2 GitHub Community Supportとやり取りする
世界中の開発者とつながり、質問したり答えたり、学習したり、GitHubスタッフと直接やり取りできます。
6.3 GitHub DocsでGitHub Teamについて読む
GitHub Teamで利用可能な機能を反映したドキュメントを読むことができます。
6.4 GitHub Skillsで学習する
https://skills.github.com/ のGitHub Skillsを使用して、自分のGitHubリポジトリで実践的なプロジェクトを完成させることで、新しいスキルを学べます。各コースは、GitHubコミュニティが作成し、ボットが指導するハンズオンレッスンです。
6.5 オープンソースコミュニティをサポートする
GitHub Sponsorsを使用すると、依存しているオープンソースプロジェクトを設計、作成、または維持する開発者や組織に、毎月定期的な支払いを行うことができます。
6.6 GitHub Supportに連絡する
GitHub Supportは、GitHubの使用中に遭遇する問題のトラブルシューティングを支援します。
このガイドでは、GitHub Teamの組織設定からセキュリティ管理、自動化、コミュニティ参加まで、6つの主要なステップを説明しました。これらの機能を活用することで、チーム開発の効率を高め、より安全で生産的な開発環境を構築できます。