GitHub とは?
GitHub は、Git リポジトリのホスティングサービスです。チームはそこにコードを置き、互いの変更をレビューし、自動ビルドとテストを実行します。
エンジニアに相談する ナレッジベース
どういうものか
GitHub は、Git で管理するプロジェクトの共有コピーを保持します。変更はプルリクエストとして届き、チームメイトが変更を読み、コメントし、承認してから、メインのバージョンに取り込まれます。GitHub Actions は、コードが変わったときに、テストやビルドなどの自動化された手順を実行します。
公開されているオープンソースプロジェクトの大部分がここで開発されており、企業が頼りにする多くのツールも含まれます。GitHub は 2018 年から Microsoft が所有しています。最も近い競合は GitLab です。
企業にとって重要な理由
- アカウントとコードの所有者:コードは、従業員の個人アカウントではなく、会社が管理する組織アカウントに置くべきです。個人アカウントに置くと、その人と一緒に会社がアクセスを失うことがあります。
- スタッフや委託先が去るときのアクセス権:アクセス権を持つ全員がコードを読め、多くの場合は変更もできます。メンバー一覧を定期的に確認し、退職または契約終了の当日に削除してください。
- 秘密情報を保存してはいけない場所:パスワード、アクセストークン、API キーは、非公開のリポジトリであっても、履歴に残るため、決してコミットしてはいけません。代わりに、適切なシークレットストアを使ってください。
- リポジトリのバックアップ:ホスティングされたリポジトリは 1 つのコピーにすぎません。自社で管理できる場所に 2 つ目のコピーを保管し、復元の練習もしておきましょう。
KawaConnect における GitHub の扱い方
GitHub では、公開オープンソースツールを公開、保守しています。お客様のコードが GitHub にある場合は、そのお客様自身の GitHub Organization の中で作業します。
何よりもまず、その Organization を会社が所有していることを確認します。そのうえでメンバー一覧を確認し、退職した人を削除します。
関連サービス
ソフトウェア
バージョン管理された、業務向けカスタムソフトウェアとオープンソースツール。
AIと自動化
コードやデータが変わったときに動くワークフロー自動化と連携。
LinuxとKubernetes
設定を Git に保存し、Git から配信するサーバーとクラスター。
詳しく見る
- Wikipedia の GitHubGitHub が提供するものと成長の経緯についての中立的な要約。背景を知りたい経営者向け。
- GitHub 公式サイトサービス自体。公開プロジェクトを閲覧できます。
- GitHub ドキュメントOrganization、アクセス制御、Actions に関する、アカウント管理者向けの公式ガイド。