【CTO1年目の教科書】GitHubにするべき初期設定3ステップを徹底解説
はじめに
初めまして。
都内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などを設定することもできます。
各権限の詳細は、以下の公式ドキュメントをご参照ください。
これで、設定完了です!
お疲れ様でした!🙆♀ 🙆
あと書き
記事をお読みいただき、ありがとうございました。
今回はGitHubの初期設定を行いました。
ただ、まだまだ改善余地があると思っています。
プルリクテンプレートの追加
ラベルの設定
チーム開発の運用ルール決め
などなど。。。
今後も、【CTO1年目の教科書】シリーズは継続していこうと思うので、続編もお楽しみください。
もし補足点・修正等ございましたら、ご気軽にコメントいただけますと幸いです。
では、失礼いたします!
Discussion