> ## Documentation Index
> Fetch the complete documentation index at: https://docs.squarecloud.app/llms.txt
> Use this file to discover all available pages before exploring further.

# CLI で GitHub からデプロイする

> squarecloud app deploy で GitHub App または webhook を使って GitHub リポジトリを Square Cloud のアプリに連携し、push ごとのデプロイを一覧表示します。

`squarecloud app deploy` はアプリケーションを GitHub に接続し、push するとデプロイされるようにします。方法は 2 つあります。

* **Square Cloud GitHub App**（`app deploy github link`）: リポジトリにアプリをインストールしてから、リポジトリとブランチを連携します。
* **Webhook**（`app deploy webhook`）: GitHub のアクセストークンを渡し、CLI が表示する URL をリポジトリの webhook に追加します。

GitHub 側の手順はヘルプセンターで説明しています。[GitHub リポジトリを接続する](https://help.squarecloud.app/en-us/article/how-to-connect-your-github-repository-and-deploy-automatically-mr6srt/)か、[GitHub Actions による自動デプロイ](https://help.squarecloud.app/en-us/article/workflow-github-actions-automated-deploy-ff34mk/)を設定してください。

`[appID]` と `--app` は省略できます。[CLI がアプリを特定する仕組み](/ja/cli-reference/quickstart#cli-がアプリを特定する仕組み)を参照してください。

## `squarecloud app deploy github link`

```bash 使い方 theme={"system"}
squarecloud app deploy github link <owner/repository> <branch> [--app <appID>]
```

Square Cloud GitHub App を通じてリポジトリとブランチを連携します。GitHub アカウントからリポジトリにアプリがインストールされている必要があり、GitHub アカウントにはそのリポジトリへの書き込み権限が必要です。

```bash theme={"system"}
squarecloud app deploy github link octocat/hello-world main
# Links octocat/hello-world, branch main, to the app in the ID= line.
```

```bash 出力 theme={"system"}
✓ Repository octocat/hello-world (branch main) linked successfully
```

別のリポジトリやブランチを連携するには、先に現在の連携を解除してください。

## `squarecloud app deploy github unlink`

```bash 使い方 theme={"system"}
squarecloud app deploy github unlink [--app <appID>]
```

アプリケーションから GitHub App の連携を解除します。

## `squarecloud app deploy webhook`

```bash 使い方 theme={"system"}
squarecloud app deploy webhook <githubToken> [--app <appID>]
squarecloud app deploy webhook --remove [--app <appID>]
```

| フラグ | 説明 |
| - | - |
| `--remove` | 設定済みの webhook を削除します。トークンは不要です。 |

GitHub のアクセストークン（`ghp_...` または `github_pat_...`）から webhook によるデプロイ連携を作成し、リポジトリの設定で webhook として追加する URL を表示します。

```bash theme={"system"}
squarecloud app deploy webhook <githubToken> --app <appID>
```

```bash 出力 theme={"system"}
✓ Webhook created successfully; add it to your GitHub repository:
  <webhook URL>
```

## `squarecloud app deploy current`

```bash 使い方 theme={"system"}
squarecloud app deploy current [appID] [--json]
```

アプリケーションに設定されている Git 連携を表示します。連携しているリポジトリとブランチ、webhook の URL、または `No Git integration configured for this application` のいずれかが表示されます。

```bash 出力 theme={"system"}
GitHub App: octocat/hello-world (branch main)
```

## `squarecloud app deploy list`

```bash 使い方 theme={"system"}
squarecloud app deploy list [appID] [--json]
```

Git の push によって開始された最近のデプロイを、コミットごとに 1 行ずつ、それぞれの最新の状態とともに一覧表示します。表示されるのは、コミットの先頭 8 文字、日付、状態、ブランチです。

```bash theme={"system"}
squarecloud app deploy list --json
# Prints the raw timelines: one array of events per deploy.
```

## 関連項目

| コマンド | API | JavaScript SDK | VS Code |
| - | - | - | - |
| `github link` | [`POST .../deploy/github-app`](/ja/api-reference/endpoint/apps/deploy/github-app-link) | [`api.apps.deploys.linkGithubApp()`](/ja/sdks/js/deploys) | [GitHub リポジトリを連携](/ja/vscode-extension/features#アプリケーション) |
| `github unlink` | [`DELETE .../deploy/github-app`](/ja/api-reference/endpoint/apps/deploy/github-app-unlink) | [`api.apps.deploys.unlinkGithubApp()`](/ja/sdks/js/deploys) | [GitHub リポジトリの連携を解除](/ja/vscode-extension/features#アプリケーション) |
| `webhook` | [`POST .../deploy/webhook`](/ja/api-reference/endpoint/apps/deploy/webhooks) | [`api.apps.deploys.setWebhook()`](/ja/sdks/js/deploys) | |
| `current` | [`GET .../deployments/current`](/ja/api-reference/endpoint/apps/deploy/info) | [`api.apps.deploys.current()`](/ja/sdks/js/deploys) | |
| `list` | [`GET .../deployments`](/ja/api-reference/endpoint/apps/deploy/list) | [`api.apps.deploys.list()`](/ja/sdks/js/deploys) | |
