GitHubにコードを置いて、リポジトリを「公開」にしたら、もうこれで完成だよね……?
GitHubは「保管・共有」、公開は「実行」のこと。
GitHubは、コード(レシピ)を保管し、他の人と共有するための場所です。リポジトリ(コードを保管しておく場所のこと)を「公開」にするというのは、そのレシピを誰でも読める状態にすることで、実際に料理(プログラム)が動き出すわけではありません。
じゃあ、なぜ動いているように見えるページもあるの?
GitHub Pagesという、GitHubが提供する静的サイト向けの公開機能があるためです。プログラムを実行しているわけではなく、完成済みのHTML・CSS・JSファイルをそのまま配信しています。動いているように見えるサイトの多くは、裏側でGitHub Actions(GitHub上でプログラムの実行を自動化する仕組み)などが別の実行環境(サーバー)へデプロイした結果です。
自分のPCから、誰かに届くまで
- あなたのPC
- GitHub
- ConoHa VPS
- 利用者がURLからアクセス
保管場所と、実際に動く場所は別なんだ。じゃあその「例外」って、具体的に何ができるの?
GitHubだけでできること・できないこと
- GitHub Pages:GitHubが提供する静的サイト向けの公開機能。HTML・CSS・JavaScriptなどの完成済みファイルを、そのままWebサイトとして配信できる。公開先は「https://ユーザー名.github.io/リポジトリ名/」のような形式のURL。
- GitHub Actions:テストやビルド、デプロイなどの処理を「ランナー」と呼ばれる実行環境で動かす仕組み。コードの変更をきっかけに自動実行できる。
もう少し正確に
GitHub Pagesは静的サイト専用です。SSR・APIサーバー・DB接続・ログイン機能など、サーバー側の処理が必要な構成には対応していません。AIエージェントやn8n・Difyのような、常時動き続けるプログラムには使えません。
GitHub Actionsの「ランナー」(実際に処理を実行するコンピューター)には2種類あります。GitHubが用意するGitHub-hosted runner(GitHub側が用意する実行環境)を使う方法と、自分のVPSなどをself-hosted runner(自分で用意する実行環境)として使う方法です。
ここ、地味に重要
ConoHa VPSにはGitHub Actions セルフホステッドランナーというスタートアップスクリプトが用意されています(基礎編06・近日公開)。選ぶだけでランナーソフトウェアはインストール済みの状態になり、あとはGitHubから取得した登録トークン(有効期限は発行から1時間)でVPSに接続し、登録・起動するだけです。「実行先」を自分のVPSに置く、という選択肢が実際にあります。
もう少し正確に
GitHubは、公開リポジトリのフォーク(他の人のリポジトリを複製すること)から意図しないコードが実行されるリスクがあるため、セルフホステッドランナーは原則として非公開リポジトリでの利用を推奨しています。公開リポジトリで使う場合は、この点に注意してください。
GitHubは、保管以外の役割も持っている
GitHubはコードを置くだけでなく、変更履歴を残す、以前の状態を確認する、複数人でレビューするといった機能も持っています。また、コードの更新を合図にデプロイを始める起点としても使われます。
- リポジトリ:プロジェクトを入れる場所
- コミット:変更内容をひとまとまりで記録すること
- プッシュ:手元の変更をGitHubへ送ること
- ブランチ:本体へ影響させず、別の流れで変更する仕組み
「非公開リポジトリ」と「安全に動かす」は別の話
リポジトリを非公開(プライベート)にしておけば、コードの中身は他人に見えません。ただしこれは「実行されているかどうか」とは関係ありません。非公開のコードも、動かすには別途デプロイが必要です。逆に、公開リポジトリでも、実行環境がなければ何も起きません。
非公開リポジトリは、アクセスできる人を制限する仕組みであり、APIキーの保管場所ではありません。次のような場合に情報が漏れる可能性があります。
- リポジトリへアクセスできる人には見える(自分だけとは限らない)
- アカウントや端末が漏えいすれば、そこから見られる
- 一度コミットすると履歴に残る。後からファイル上で削除しても、履歴からは消えない場合がある
- CI/CDのログに、値がそのまま出力される場合がある
だから
APIキーやパスワードはコードへ直接書かず、GitHub Secrets(GitHub上で秘密情報を暗号化して保存する仕組み)やデプロイ先の環境変数として設定します。環境変数の考え方は基礎編05(近日公開)でも扱っています。
じゃあ、どうやって「実行」するの?
コードをGitHubから取り出して、実際に動く環境に置く作業がデプロイです。次の記事で、その具体的な流れを見ていきます。
よくある質問
GitHubにコードを置くこと自体は必須?
必須ではありませんが、多くのデプロイ方法やCoolifyなどの管理ツールは、GitHubなどのGitリポジトリと連携できます。置いておくと、後の作業がスムーズになります。
GitHub以外のGitサービスでも同じ話?
はい。GitLabやBitbucketなど、他のGitホスティングサービスでも「保管・共有」の役割は基本的に同じです。ConoHa VPSには、GitLabのCI/CDを実行する「GitLab Runner」のスタートアップスクリプトも用意されています。
GitHub Actionsのセルフホステッドランナーは難しい?
スタートアップスクリプトを選べば、ランナーソフトウェア自体のインストールは自動化されます。ただしGitHubへの登録は自動化されておらず、登録トークンの取得とSSHでの手動登録が必要です。
コードをGitHubに置くと、誰でも中身を実行できてしまう?
いいえ。コードを見られることと、実行されることは別です。誰かが実行するには、コードを取得してデプロイする作業を別途行う必要があります。
次に読む記事
基礎編のつづき
前の記事
全体像に戻る
監修:ConoHa by GMO 最終更新日: 2026年9月30日