🚀

【CTO1年目の教科書】GitHubにするべき初期設定3ステップを徹底解説

2023/10/28に公開

はじめに

初めまして。
都内IT企業で、データアルゴリズムチームのエンジニアをしております、Noraです。

会社を立ち上げたときにCTOが行うべき、GitHubの初期設定4ステップを紹介します

会社を立ち上げてみたが、GitHubのセキュリティ管理やGitHub初期設定方法がわからない。。」という、エンジニアやCTOにおすすめの記事となっております!

こちらの記事内容は個人の経験がベースになっておりますので、未熟な点も多いかと思います。
ご意見あればコメントいただけますと幸いです🙆‍♀️ 🙆

では、ぜひご覧ください!

Step1:GitHubのOrganizationを作成

まずは、組織を立ち上げます。
Organizationを立ち上げることで、GitHubの個人アカウントとは違い、組織単位での管理を実現します。
では、作成しましょう🔥

1. 「Your Organization」から組織を作成する

2. 「New Organization」をクリック

3. 「Create a free organization」をクリック

必要に応じて、有料プランへ切り替えましょう。

4. 「組織名や、メールアドレス」を入力

ご自身の組織に合わせた入力を行なってください。

5. 組織のメンバーをorganizationへ招待する

6. 組織のメンバー権限を「No permission」に変更する

「customize menber's permissions」から、Base permissionを、No permissionに変更しておきましょう。
こうすることで、リポジトリに対して、組織メンバーにアクセス権が無い状態になります。
(Step2以降で、特定メンバーのみが操作できるように設定を行います)

これで最初のStep1は完了です!🎉

Step2:Teamsを設定する

次にTeamsを設定します。Teamsを各リポジトリに付与することで、分割された権限管理を実現できます。
以下が公式ドキュメントから、Teamsに関する記述を引用しています。

Flexible repository access
You can add repositories to your teams with more flexible levels of access (Admin, Write, Read).

Step2でTeamsを設定して、Step3で各リポジトリごとにTeamsを設定していきます。

リポジトリ及びチームは、以下のように管理していきます。

(構成例)
組織
 ┗ リポジトリ
    ┗ リポジトリの権限を持つTeam
---------------------
root
 ┗product-all(全員に権限がある)
    ┗ team/admin 
    ┗ team/employee
    ┗ parttime-1

 ┗product-pj1(adminメンバーと、PJ1に属するメンバーのみに権限がある)
    ┗ team/admin
    ┗ team/pj1

 ┗product-pj2(adminメンバーと、PJ2に属するメンバーのみに権限がある)
    ┗ team/admin
    ┗ team/pj2

では、設定していきます。

1. 「New Team」をクリック

2. Team情報を記入する

記入ができたら、「create team」をクリックします。

3. Teamができたら、所属するメンバーを追加する

組織の状況に合わせて、管理者メンバーや、PJメンバーを招待してください。

このステップを、Adminチームだけでなく、各PJごとに実行しましょう。
PJ1やPJ2のチームを設定したら、Step2もクリアです!!🔥

Step3:リポジトリの権限管理を行う

では、最後に、リポジトリを作成して、Teamを割り振りましょう!
リポジトリとは、ソースコードを保存する場所です。
チーム開発の際プロジェクトごとにリポジトリを作成して、ソースコードを管理します。
ですが、プロジェクトによっては、ソースコードを特定メンバーのみの閲覧に設定したいケースが多くあるかと思います。
そこで、Step2で設定したTeamを、各リポジトリに割り振ることで、適切な権限管理を実現できます。

では設定しましょう👍

1. まずはリポジトリ作成を行う

product-allという名前のリポジトリを作成します。
チーム全体に公開する場合は、publicに設定できますが、特定メンバーのみの権限にしたい場合は、privateに設定します。

2. 「Settings」から「Collaborators and teams」をクリック

3. 「Add teams」から権限を加えたいTeamを選択する

権限は基本的には「Write」を設定しましょう。
強い権限を与えたい場合は、adminなどを設定することもできます。
各権限の詳細は、以下の公式ドキュメントをご参照ください。

https://docs.github.com/ja/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/repository-roles-for-an-organization

これで、設定完了です!
お疲れ様でした!🙆‍♀ 🙆

あと書き

記事をお読みいただき、ありがとうございました。
今回はGitHubの初期設定を行いました。
ただ、まだまだ改善余地があると思っています。

プルリクテンプレートの追加
ラベルの設定
チーム開発の運用ルール決め

などなど。。。
今後も、【CTO1年目の教科書】シリーズは継続していこうと思うので、続編もお楽しみください。

もし補足点・修正等ございましたら、ご気軽にコメントいただけますと幸いです。
では、失礼いたします!

Discussion