はじめに
GoogleのAI搭載IDE「Antigravity」で、WSLにCI/CDしてみました。
Antigravityのエージェントによるコーディングと、ローカルリソース(WSL)による実行を連携させる構成の備忘録です。
構成概要
- IDE: Antigravity (Editor / Agent)
- Repository: GitHub
- CI/CD: GitHub Actions (Self-hosted Runner)
- Infrastructure: WSL 2 (Ubuntu)

1. WSL Self-hosted Runner の準備
GitHub Actionsの実行環境をクラウド(GitHub hosted)ではなく、手元のWSL上に構築します。これにより、AntigravityからPushされたコードをローカルのDocker環境等で即座に動作確認できます。
1.1 ランナーのインストール
GitHubのリポジトリ設定(Settings > Actions > Runners)からLinux用アーカイブを取得し、WSL上で展開します。
基本的にはランナーのインストールページのコマンドを実行すればいいです。
LinuxのX64を選択し、Downloadコマンド群の実行>Configureコマンド群を実行
1.2 GitHubトークンの取得
Antigravityからのリポジトリ操作に必要なトークン(Fine-grained Personal Access Token)を発行します。
- GitHubの右上のアイコン> Settings > Developer settings > Personal access tokens > Fine-grained tokens を開きます。
- Generate new token をクリックし、以下を設定します。
-
Repository access:
Only select repositories(対象のリポジトリを選択) -
Permissions:
WorkFlowscontents(read and write)
- 生成されたトークン(
github_pat_...)を控えてGithub mcpの設定に反映させる
2. Antigravityでのワークフロー作成
Antigravityのエージェント機能を利用し、Self-hosted Runner向けのワークフローを作成・Pushします。
2.1 ワークフロー定義
.github/workflows/docker-access.yml を作成してもらいました。
runs-on: self-hosted を指定することで、先ほど設定したWSLランナーにジョブが割り振られます。
name: Docker Access on WSL
on:
push:
branches: [ main ]
paths:
- '.github/workflows/docker-access.yml'
workflow_dispatch:
jobs:
launch-container:
runs-on: self-hosted
steps:
- name: Stop existing container if any
run: docker stop hello-docker-web || true && docker rm hello-docker-web || true
- name: Launch Hello Docker Web Server
run: |
docker run -d \
--name hello-docker-web \
--restart always \
-p 8080:80 \
nginx:alpine
# カスタムのHello Dockerメッセージを書き込む
docker exec hello-docker-web sh -c "echo '<h1>Hello Docker from WSL! (Auto-started)</h1>' > /usr/share/nginx/html/index.html"
echo "Web server is running on port 8080."
echo "Access via: http://localhost:8080 from your Windows browser."
echo "Restart policy 'always' has been applied."
3. 流れの確認
まとめ
Antigravity IDEの高いコーディング能力と、WSLのローカル実行環境をGitHub Actionsでつなぐことができました。



