
# デプロイキーを使用した GitLab 向け AutoFix

## なぜデプロイキーを使うのですか？

デプロイキーは、GitLabグループで署名付きコミットとシングルサインオン（SSO）の両方を強制している場合に必要です。SSOが強制されていると、GitLabはgit pushのたびにPATの再認可を定期的に要求します。デプロイキーはSSOセッションに紐づかないため、AutoFixは引き続き動作します。

## 仕組み

選択した各リポジトリごとに、Aikidoは専用のSSH鍵ペアを生成し、公開鍵をaikido-autofix-deploy-keyという名前のデプロイキーとして、そのGitLabプロジェクトに書き込み権限付きで登録します。秘密鍵はAikidoによって暗号化されて保存されます。その後、AutoFixはデプロイキーを使ってコミットをプッシュします。

PATは引き続き必要です。AikidoはGitLab APIを通じてデプロイキーを追加・削除し、マージリクエストを作成するためにPATを使用します。

## 前提条件

* あなたはAikidoの管理者です。
* 有効なAutoFixのPersonal Access Token（PAT）が設定されています。
* PATのGitLabユーザーには、選択したプロジェクトにデプロイキーを追加する権限があります。

### デプロイキーを有効にする

1. Aikido で次へ移動します: [GitLabトークンの設定](https://app.aikido.dev/onboarding/gitlab/update-workspace-access-token)、AutoFixタブを開き、［詳細設定］を展開します。

<img src="https://help.aikido.dev/_assets/fed2e4719970/unknown.png" alt="" height="254" width="856">

2. ［デプロイキー］で［リポジトリ］フィールドを開き、AutoFixがデプロイキーを使用してSSH経由でプッシュするリポジトリを選択します。
3. ［リポジトリにデプロイキーを追加］をクリックします。

［リポジトリを更新中］ダイアログが完了するまで待ちます。

## デプロイキーを削除する

1. Aikido で次へ移動します: [GitLabトークンの設定](https://app.aikido.dev/onboarding/gitlab/update-workspace-access-token)、AutoFixタブを開き、［詳細設定］を展開します。
2. 削除したいリポジトリの選択を解除します。
3. ［リポジトリからデプロイキーを削除］をクリックし、確認します。
