🧭 あなたに最適なVPSを30秒で無料診断 診断する →

【2026年版】GitHub ActionsとVPSを連携!AIに書かせたコードを自動デプロイするCI/CD超入門

読む前に30秒だけ。用途・予算を選ぶだけで、あなたに最適なVPSがわかります(無料・登録不要) 無料診断 →

【2026年版】GitHub ActionsとVPSを連携!AIに書かせたコードを自動デプロイするCI/CD超入門

最初に結論を書きます

AIでコードを書き始めたなら、CI/CDは今すぐ入れてください。後回しにする理由がないです。

Claude CodeやChatGPTを使い始めると、コードの変更頻度が体感で3〜5倍になります。そのたびにSSHしてgit pullして…をやってると、AIで節約した時間を全部デプロイ作業で溶かします。本末転倒です。

Self-hosted RunnerをVPSに置いて、pushしたら終わり——これをやるかやらないかで、AI開発の体験がかなり変わります。セットアップ自体は30〜60分あれば終わるので、さっさとやってしまった方がいいです。

あと先に言っておくと、CI/CD用途にGPUは一切不要です。ビルドとデプロイはCPU処理です。GPU付きプランに誘導してくる記事があったら、単純にアフィリエイト報酬が高いプランに誘導しているだけなので無視してください。


CI/CDとは?AIコード開発での必要性

用語意味
CI(継続的インテグレーション)コードをpushするたびにテストを自動実行
CD(継続的デリバリー)テスト通過後にサーバーへ自動デプロイ

AIにコードを生成させると変更頻度が格段に上がります。手動でSSHしてgit pullするのは非効率です。CI/CDを組めば「AIに指示 → コード生成 → push → 自動デプロイ」が1〜2分で完結します。

正直に言うと、手動デプロイのしんどさはコード変更が少ないうちは気にならないんですよね。1日1〜2回のpushなら「まあいいか」で乗り越えられる。でもAIを使い始めたとたんに「あ、これ無理だ」ってなる。自分もそのタイミングで慌てて導入しました。最初からやっておけばよかった案件です。


アーキテクチャ全体像

ローカル or AI(Claude Code等)
        ↓ git push
    GitHub リポジトリ
        ↓ Actions起動
  Self-hosted Runner(VPS上)
        ↓ ビルド・テスト
    本番環境(同VPS or 別サーバー)

VPSが1台の場合、RunnerもアプリもそのVPSに同居させるのが一番シンプルです。最初はこれで十分。スケールが必要になってから分ければいい。「きれいな構成」にこだわって始めるのが遅くなるよりも、シンプルに動かす方が100倍マシです。


Step 1: VPSにSelf-hosted Runnerを設置する

なぜSelf-hosted?

GitHub提供のRunnerはパブリックリポジトリで無料ですが、プライベートリポジトリでは月2,000分の無料枠があります。Self-hosted RunnerをVPSに置けば実行時間の制限なし、かつデプロイがVPS内で完結するため高速です。

月2,000分というのは、1回のデプロイに3分かかるとすると約666回分。毎日20回pushしたとして33日分。余裕そうに見えますが、AIを使い始めると平気で超えます。Self-hostedにしておく方が精神的にラクです。「今月の残り枠どのくらいだっけ」って気にしながら開発したくないですよね。自分は気にしたくないタイプなので、最初からSelf-hostedにしました。

Runnerのインストール手順

# GitHubリポジトリ → Settings → Actions → Runners → New self-hosted runner
# 表示されるコマンドをそのまま実行(URLとトークンはリポジトリごとに異なる)

mkdir actions-runner && cd actions-runner
curl -o actions-runner-linux-x64-2.316.0.tar.gz -L \
  https://github.com/actions/runner/releases/download/v2.316.0/actions-runner-linux-x64-2.316.0.tar.gz
tar xzf ./actions-runner-linux-x64-2.316.0.tar.gz
./config.sh --url https://github.com/your-org/your-repo --token YOUR_TOKEN

# サービスとして常駐起動
sudo ./svc.sh install
sudo ./svc.sh start

sudo ./svc.sh install でサービス登録しておくのが重要です。これをやらないとVPS再起動のたびにRunnerが落ちて「なんかActionsが反応しない」ってなります。自分は最初これを忘れて30分無駄にしました。同じ轍を踏まないようにしてください。

XServer VPS →


Step 2: GitHub Actionsワークフローを作成する

# .github/workflows/deploy.yml
name: AI Code Auto Deploy

on:
  push:
    branches: [main]

jobs:
  deploy:
    runs-on: self-hosted  # VPS上のRunnerを使用

    steps:
      - name: コードをチェックアウト
        uses: actions/checkout@v4

      - name: Node.jsのセットアップ
        uses: actions/setup-node@v4
        with:
          node-version: '20'

      - name: 依存パッケージをインストール
        run: npm ci

      - name: テストを実行
        run: npm test

      - name: ビルド
        run: npm run build

      - name: アプリを再起動
        run: |
          pm2 restart my-app || pm2 start dist/index.js --name my-app
          pm2 save

このワークフローで「テストが落ちたらデプロイしない」という安全弁が自動で入ります。これが地味に大事です。AIが書いたコードはたまに微妙なバグを混入させるので、「AIが書いたから大丈夫」は過信です。はっきり言っておきます。テストを挟む習慣をつけておくと、深夜に壊れた本番環境を直す羽目になるリスクがぐっと減ります。


Step 3: SSH経由でのデプロイアクション(別サーバーへのデプロイ)

本番サーバーが別のVPSの場合、SSH Actionを使います:

      - name: SSHでデプロイ
        uses: appleboy/ssh-action@v1.0.3
        with:
          host: ${{ secrets.DEPLOY_HOST }}
          username: ${{ secrets.DEPLOY_USER }}
          key: ${{ secrets.DEPLOY_SSH_KEY }}
          script: |
            cd /var/www/my-app
            git pull origin main
            npm ci --production
            pm2 restart my-app

GitHub SecretsにSSHの秘密鍵・ホスト・ユーザー名を登録するだけで安全にデプロイできます。

秘密鍵をSecretsに入れるのに最初は「大丈夫か…?」ってなるかもしれないですが、GitHub Secretsはワークフローのログにも表示されないし、リポジトリへの書き込み権限を持っている人しかアクセスできないので、ちゃんと管理されていれば問題ないです。平文でyamlに直書きするのだけは絶対にやめてください。それだけは守ってほしい。


AI生成コードを自動デプロイする実際のフロー

# 1. AIにコード修正を依頼(例:Claude Code)
claude "ログイン機能にリトライ処理を追加して"

# 2. 生成されたコードをコミット
git add -A
git commit -m "feat: add retry logic to login"

# 3. pushするだけ——あとはGitHub Actionsが自動でデプロイ
git push origin main

pushした瞬間にActionsが起動し、2〜3分後には本番に反映されています。

これを一度体験すると手動デプロイに戻れなくなります。「push→コーヒー淹れる→戻ったら本番反映済み」というリズムになる。AIと組み合わせると開発速度の体感がかなり変わります。自分の場合、CI/CDを入れる前と後で「あ、もうデプロイしたの?」ってなる頻度が全然違います。

ConoHa VPS →


VPS選びのポイント(CI/CD用途)

項目推奨
CPU2〜4コア(ビルド処理に使用)
メモリ4GB以上(Node.jsビルドは2GBを消費することも)
SSD50GB以上(Dockerイメージ・キャッシュ含む)
OSUbuntu 22.04 LTS

CI/CD用途にGPUは完全に不要です。 もう一度言います。ビルドとデプロイはCPUの処理です。GPU付きプランを勧めてくる記事があったら、単純にアフィリエイト報酬が高いプランに誘導しているだけです。月数万払う必要はまったくないので、乗せられないようにしてください。

メモリは4GBを最低ラインにしておくのが無難です。Node.jsのビルドは思ったよりメモリを食います。2GBのプランで始めてビルドが途中でOOMキラーに落とされる、というのはよくある話です。ケチって2GBにして後で後悔するくらいなら、最初から4GBにしておいた方がいい。月額の差額は数百円程度です。


A. プライベートリポジトリのみで使う場合は問題ありません。パブリックリポジトリでの使用はfork PRからの悪意あるコード実行リスクがあるため非推奨です。RunnerはVPS上でroot以外のユーザーで動かし、必要最低限の権限のみ付与するのがベストプラクティスです。
A. ワークフローにロールバックステップを追加するか、pm2のrollback機能を使います。また、ブルーグリーンデプロイ構成にすることで本番影響なしにロールバックできます。
A. パブリックリポジトリかつ実行時間が少なければGitHub提供Runnerで十分です。プライベートリポジトリで頻繁にデプロイする場合、またはVPS内の環境に直接アクセスする必要がある場合はSelf-hosted Runnerが最適です。

まとめ:あなたの使い方で選ぶ

ステップ内容
1VPSにSelf-hosted Runnerをインストール・サービス登録
2.github/workflows/deploy.yml を作成
3GitHub Secretsにデプロイ先の認証情報を登録
4main pushをトリガーにビルド→テスト→デプロイを自動化

あなたの状況に合わせた判断テーブル

状況判断
AIでコードを書き始めたばかり、まだ手動デプロイしてる今すぐCI/CD入れた方がいい。後回しにするほど手間が増えるだけ
プライベートリポジトリ、AIでガンガンpushしてるSelf-hosted Runner一択。GitHub提供の月2,000分はあっという間に溶ける
パブリックリポジトリ、たまにしかpushしないGitHub提供Runnerの無料枠で十分。Self-hostedは後でいい
VPSのスペックをどうするか迷ってるメモリ4GB以上、GPUは不要。GPU付きプランへの誘導は無視でいい
CI/CD用途でGPU付きプランを勧められたやめとけ。アフィリエイト目的の誘導です。CPU処理にGPUは関係ない
セットアップが面倒で後回しにしてた30〜60分で終わる。この記事通りにやれば詰まるポイントは少ない

一度動かしてしまえば、あとはほぼ触らなくていい仕組みです。最初の設定コストを払えば、以降のデプロイ作業がゼロになる。費用対効果で言うと相当高いです。

これが最終回答じゃないし、最初から完璧にやる必要もないので、まずはシンプルな構成で動かしてみてください。動いてから改善すればいい。

XServer VPS →

ConoHa VPS →

あわせて読みたい