基礎編02・基礎知識

GitHubに置くだけじゃ公開されないの?
コードの「保管」と「実行」は、別の話です。

AIが書いてくれたコードを、GitHubにアップロードした。これで公開できた気がするけど、実際にURLを開いても何も表示されない——最初にぶつかりやすい疑問を整理します。

GitHubに上げたのに、URLでアクセスできないのはなぜ?

GitHubにコードを置いて、リポジトリを「公開」にしたら、もうこれで完成だよね……?

GitHubは「保管・共有」、公開は「実行」のこと。

GitHubは、コード(レシピ)を保管し、他の人と共有するための場所です。リポジトリ(コードを保管しておく場所のこと)を「公開」にするというのは、そのレシピを誰でも読める状態にすることで、実際に料理(プログラム)が動き出すわけではありません。

じゃあ、なぜ動いているように見えるページもあるの?

GitHub Pagesという、GitHubが提供する静的サイト向けの公開機能があるためです。プログラムを実行しているわけではなく、完成済みのHTML・CSS・JSファイルをそのまま配信しています。動いているように見えるサイトの多くは、裏側でGitHub Actions(GitHub上でプログラムの実行を自動化する仕組み)などが別の実行環境(サーバー)へデプロイした結果です。

GitHubにある状態
VPSで実行された状態
状態
コードが保管・共有されているだけ。プログラムとして動いてはいない。
GitHubから取得したコードが、実際に動いている。URLからアクセスできる。
場所
GitHub
ConoHa VPS

自分の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日

ConoHaのサービス

  • ブログ・ホームページに最適なレンタルサーバー

  • サイト運営やアプリ開発に最適

  • 初心者でもかんたんにマルチプレイを楽しめる

  • ブラウザだけでできるAI画像生成

  • SEOに強いAIライティングツール