# プレビルドのトラブルシューティング

プレビルドを使用して、codespace の作成を高速化できます。 この記事では、プレビルドを使った一般的な問題のトラブルシューティング手順を示します。

GitHub Codespacesプレビルドの詳細については、「[あなたの codespaces を事前ビルド](/ja/codespaces/prebuilding-your-codespaces)」を参照してください。

## codespace がプレビルドから作成されたかどうかの確認

codespace を作成する際には、使用する仮想マシンの種類を選択できます。 仮想マシンの種類に対して事前ビルドが使用可能な場合は、その横に "<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-zap" aria-label="zap" role="img"><path d="M9.504.43a1.516 1.516 0 0 1 2.437 1.713L10.415 5.5h2.123c1.57 0 2.346 1.909 1.22 3.004l-7.34 7.142a1.249 1.249 0 0 1-.871.354h-.302a1.25 1.25 0 0 1-1.157-1.723L5.633 10.5H3.462c-1.57 0-2.346-1.909-1.22-3.004L9.503.429Zm1.047 1.074L3.286 8.571A.25.25 0 0 0 3.462 9H6.75a.75.75 0 0 1 .694 1.034l-1.713 4.188 6.982-6.793A.25.25 0 0 0 12.538 7H9.25a.75.75 0 0 1-.683-1.06l2.008-4.418.003-.006a.036.036 0 0 0-.004-.009l-.006-.006-.008-.001c-.003 0-.006.002-.009.004Z"></path></svg> Prebuild ready" が表示されます。

![使用可能なマシンの種類の一覧 (2、4、8、16、32 コア) のスクリーンショット。すべてに \[プレビルド対応\] というラベルが付いています。](/assets/images/help/codespaces/choose-custom-machine-type.png)

GitHub Codespaces エディターの基本設定を "Visual Studio Code for Web" に設定している場合は、事前ビルドが使用されている場合、\[コードスペースのセットアップ] ページに "事前構築済みのコード空間が見つかりました" というメッセージが表示されます。

![\[codespace の設定\] ページのスクリーンショット。次のテキストが含まれます: "プレビルド codespace が見つかりました。 イメージをダウンロードしています。"](/assets/images/help/codespaces/prebuilt-codespace-found.png)

同様に、エディターの基本設定が "VS Code"、統合ターミナルには、新しいコード空間を作成するときに、"リポジトリのビルド前の構成で定義された事前構築済みのコード空間にあります" というメッセージが含まれます。 詳しくは、「[GitHub Codespaces の既定のエディターを設定する](/ja/codespaces/setting-your-user-preferences/setting-your-default-editor-for-github-codespaces)」をご覧ください。

コード空間を作成したら、ターミナルで次の GitHub CLI コマンドを実行して、事前ビルドから作成されたかどうかを確認できます。

```shell copy
gh api /user/codespaces/$CODESPACE_NAME --jq .prebuild
```

codespace がプレビルドを使用して作成された場合は、`true` が返されます。

または、 GitHub CLI (`gh`) がインストールされていない場合は、次のコマンドを使用できます。これは、コード空間がビルド前から作成された場合に `createFromPrebuild` を返します。

```shell copy
cat /workspaces/.codespaces/shared/environment-variables.json | jq '.ACTION_NAME'
```

## プレビルドの使用状況の確認

リポジトリの設定の \[Codespaces] ページで、リポジトリが事前ビルドを使用しているかどうかを確認できます。

個人用アカウントまたは Organization アカウントの課金データを確認すると、現在の請求期間でプレビルドによってどのくらいのストレージ スペースが消費されているかを確認できます。 また、使用状況レポートを生成すると、どのリポジトリにプレビルドが使われているかを確認できます。 詳しくは、「[従量制課金製品とライセンスの使用状況の表示](/ja/billing/how-tos/products/view-productlicense-use)」をご覧ください。

## "Prebuild Ready" ラベルが欠落している場合がある

事前ビルドが有効なブランチから新しいコードスペースを作成すると、マシンの種類を選択するためのダイアログ ボックスに "<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-zap" aria-label="zap" role="img"><path d="M9.504.43a1.516 1.516 0 0 1 2.437 1.713L10.415 5.5h2.123c1.57 0 2.346 1.909 1.22 3.004l-7.34 7.142a1.249 1.249 0 0 1-.871.354h-.302a1.25 1.25 0 0 1-1.157-1.723L5.633 10.5H3.462c-1.57 0-2.346-1.909-1.22-3.004L9.503.429Zm1.047 1.074L3.286 8.571A.25.25 0 0 0 3.462 9H6.75a.75.75 0 0 1 .694 1.034l-1.713 4.188 6.982-6.793A.25.25 0 0 0 12.538 7H9.25a.75.75 0 0 1-.683-1.06l2.008-4.418.003-.006a.036.036 0 0 0-.004-.009l-.006-.006-.008-.001c-.003 0-.006.002-.009.004Z"></path></svg> Prebuild Ready" ラベルが表示されないことがあります。 これは、プレビルドが現在使用できないことを意味します。

既定では、プレビルドが有効なブランチにプッシュするたびに、プレビルドが更新されます。 プッシュに開発コンテナー構成の変更が含まれている場合、更新の進行中は、マシンの種類の一覧から "<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-zap" aria-label="zap" role="img"><path d="M9.504.43a1.516 1.516 0 0 1 2.437 1.713L10.415 5.5h2.123c1.57 0 2.346 1.909 1.22 3.004l-7.34 7.142a1.249 1.249 0 0 1-.871.354h-.302a1.25 1.25 0 0 1-1.157-1.723L5.633 10.5H3.462c-1.57 0-2.346-1.909-1.22-3.004L9.503.429Zm1.047 1.074L3.286 8.571A.25.25 0 0 0 3.462 9H6.75a.75.75 0 0 1 .694 1.034l-1.713 4.188 6.982-6.793A.25.25 0 0 0 12.538 7H9.25a.75.75 0 0 1-.683-1.06l2.008-4.418.003-.006a.036.036 0 0 0-.004-.009l-.006-.006-.008-.001c-.003 0-.006.002-.009.004Z"></path></svg> Prebuild Ready" ラベルが削除されます。 この期間も、プレビルドを使用せずに codespace を作成できます。 必要であれば、開発コンテナー構成ファイルを変更したときのみ、またはカスタム スケジュールで指定したときにのみプレビルドが更新されるように設定することで、リポジトリにプレビルドを使用できない場合を減らすことができます。 詳しくは、「[プレビルドの構成](/ja/codespaces/prebuilding-your-codespaces/configuring-prebuilds#configuring-prebuilds)」をご覧ください。

ブランチがプレビルドに対して特に有効になっていない場合でも、プレビルドが有効なブランチから分岐された場合はプレビルドの利点が得られる可能性があります。 しかし、開発コンテナー構成がご利用のブランチで変更されたために、ベース ブランチの構成とは異なる場合、プレビルドはご利用のブランチで使用できなくなります。

特定のブランチに対して "<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-zap" aria-label="zap" role="img"><path d="M9.504.43a1.516 1.516 0 0 1 2.437 1.713L10.415 5.5h2.123c1.57 0 2.346 1.909 1.22 3.004l-7.34 7.142a1.249 1.249 0 0 1-.871.354h-.302a1.25 1.25 0 0 1-1.157-1.723L5.633 10.5H3.462c-1.57 0-2.346-1.909-1.22-3.004L9.503.429Zm1.047 1.074L3.286 8.571A.25.25 0 0 0 3.462 9H6.75a.75.75 0 0 1 .694 1.034l-1.713 4.188 6.982-6.793A.25.25 0 0 0 12.538 7H9.25a.75.75 0 0 1-.683-1.06l2.008-4.418.003-.006a.036.036 0 0 0-.004-.009l-.006-.006-.008-.001c-.003 0-.006.002-.009.004Z"></path></svg> Prebuild Ready" ラベルが表示されていないかどうかを確認する方法を次に示します。

* このブランチのプレビルド構成が存在することを確認する。 リポジトリ管理者でない場合は、管理者に連絡して確認する必要があります。
* プレビルド構成に自分のリージョンが含まれることを確認する。
* 開発コンテナー構成への変更が、最近、プレビルドが有効になったブランチにプッシュされたかどうかを確認する。 そうである場合は、通常、このプッシュに対してプレビルド ワークフローが実行されるまで待たないと、プレビルドを再び使用することはできません。
* 構成の変更が最近行われなかった場合は、リポジトリの **\[アクション]** タブに移動し、ワークフローの一覧で **\[Prebuilds <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-codespaces" aria-label="codespaces" role="img"><path d="M0 11.25c0-.966.784-1.75 1.75-1.75h12.5c.966 0 1.75.784 1.75 1.75v3A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm2-9.5C2 .784 2.784 0 3.75 0h8.5C13.216 0 14 .784 14 1.75v5a1.75 1.75 0 0 1-1.75 1.75h-8.5A1.75 1.75 0 0 1 2 6.75Zm1.75-.25a.25.25 0 0 0-.25.25v5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-5a.25.25 0 0 0-.25-.25Zm-2 9.5a.25.25 0 0 0-.25.25v3c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-3a.25.25 0 0 0-.25-.25Z"></path><path d="M7 12.75a.75.75 0 0 1 .75-.75h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1-.75-.75Zm-4 0a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Z"></path></svg>Codespaces** クリックし、ブランチのビルド前ワークフローの実行が成功していることを確認します。 ワークフローの最新の実行が失敗し、これらの失敗した実行の 1 つ以上に開発コンテナー構成への変更が含まれていた場合、関連するブランチに対して使用可能なプレビルドはありません。

## プレビルドを使って作った codespace で一部のリソースにアクセスできない

プレビルド構成の `devcontainer.json` 構成ファイルで、他のリポジトリへのアクセス許可が必要であることが指定されている場合、リポジトリ管理者は、プレビルド構成を作成または更新するときに、これらのアクセス許可を認可するように求められます。 管理者が要求されたすべてのアクセス許可を付与していない場合、プレビルドと、このプレビルドから作った codespace で問題が発生する可能性があります。 これは、このプレビルドに基づいてコードスペースを作成するユーザーが、すべてのアクセス許可を求められた際に実際に「付与した」場合であっても当てはまります。\_\_

## プレビルドに対するワークフロー実行が失敗した場合のトラブルシューティング

### GitHub Actions 支出上限の引き上げ

事前ビルドは、 GitHub Actionsを使用して作成および更新されます。 すべての GitHub Actions 分を使用し、使用制限に達した場合、ビルド前のワークフローは失敗します。 この場合は、ワークフローの実行を許可するために、 GitHub Actions の使用制限を増やすことができます。 詳しくは、「[従量制課金製品の支出を管理するための予算を設定する](/ja/billing/how-tos/set-up-budgets)」をご覧ください。

### アクセス許可の承認

プレビルド構成の `devcontainer.json` 構成ファイルが、他のリポジトリへのアクセス許可が必要であることを指定するように更新され、リポジトリ管理者がプレビルド構成にこれらのアクセス許可を認可するように求められなかった場合、プレビルド ワークフローが失敗する可能性があります。 何も変更せずに、プレビルド構成を更新してみてください。
**\[更新]** をクリックして、認可ページが表示される場合は、要求されたアクセス許可が適切であることを確認し、適切であれば、要求を認可します。 詳細については、「[事前ビルドの管理](/ja/codespaces/prebuilding-your-codespaces/managing-prebuilds#editing-a-prebuild-configuration)」および「[codespace 内の他のリポジトリへのアクセスの管理](/ja/codespaces/managing-your-codespaces/managing-repository-access-for-your-codespaces#setting-additional-repository-permissions)」を参照してください。

プレビルド構成に対するワークフロー実行が失敗する場合は、調査の間、一時的にプレビルド構成を無効にすることができます。 詳しくは、「[事前ビルドの管理](/ja/codespaces/prebuilding-your-codespaces/managing-prebuilds#disabling-a-prebuild-configuration)」をご覧ください。

### 古いプレビルドが使用されないようにする

既定では、最新のプレビルド ワークフローが失敗した場合、リポジトリ、ブランチ、および `devcontainer.json` 構成ファイルの同じ組み合わせに対して以前のプレビルドが使用され、新しい codespace が作成されます。 この動作は、プレビルド最適化と呼ばれます。

プレビルドの最適化を有効にしておくことをお勧めします。これは、最新のプレビルドが使用できない場合でも codespace を迅速に作成できるようにするためです。 ただし、リポジトリ管理者は、プレビルドの codespace が現在のブランチの状態の背後にあるという問題が発生した場合に、プレビルドの最適化を無効にすることができます。 プレビルドの最適化を無効にすると、最新のプレビルド ワークフローが失敗した場合、または現在実行中の場合、リポジトリ、ブランチ、`devcontainer.json` ファイルの関連する組み合わせの codespace がプレビルドなしで作成されます。

1. GitHub で、リポジトリのメイン ページに移動します。

2. リポジトリ名の下にある **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-gear" aria-label="gear" role="img"><path d="M8 0a8.2 8.2 0 0 1 .701.031C9.444.095 9.99.645 10.16 1.29l.288 1.107c.018.066.079.158.212.224.231.114.454.243.668.386.123.082.233.09.299.071l1.103-.303c.644-.176 1.392.021 1.82.63.27.385.506.792.704 1.218.315.675.111 1.422-.364 1.891l-.814.806c-.049.048-.098.147-.088.294.016.257.016.515 0 .772-.01.147.038.246.088.294l.814.806c.475.469.679 1.216.364 1.891a7.977 7.977 0 0 1-.704 1.217c-.428.61-1.176.807-1.82.63l-1.102-.302c-.067-.019-.177-.011-.3.071a5.909 5.909 0 0 1-.668.386c-.133.066-.194.158-.211.224l-.29 1.106c-.168.646-.715 1.196-1.458 1.26a8.006 8.006 0 0 1-1.402 0c-.743-.064-1.289-.614-1.458-1.26l-.289-1.106c-.018-.066-.079-.158-.212-.224a5.738 5.738 0 0 1-.668-.386c-.123-.082-.233-.09-.299-.071l-1.103.303c-.644.176-1.392-.021-1.82-.63a8.12 8.12 0 0 1-.704-1.218c-.315-.675-.111-1.422.363-1.891l.815-.806c.05-.048.098-.147.088-.294a6.214 6.214 0 0 1 0-.772c.01-.147-.038-.246-.088-.294l-.815-.806C.635 6.045.431 5.298.746 4.623a7.92 7.92 0 0 1 .704-1.217c.428-.61 1.176-.807 1.82-.63l1.102.302c.067.019.177.011.3-.071.214-.143.437-.272.668-.386.133-.066.194-.158.211-.224l.29-1.106C6.009.645 6.556.095 7.299.03 7.53.01 7.764 0 8 0Zm-.571 1.525c-.036.003-.108.036-.137.146l-.289 1.105c-.147.561-.549.967-.998 1.189-.173.086-.34.183-.5.29-.417.278-.97.423-1.529.27l-1.103-.303c-.109-.03-.175.016-.195.045-.22.312-.412.644-.573.99-.014.031-.021.11.059.19l.815.806c.411.406.562.957.53 1.456a4.709 4.709 0 0 0 0 .582c.032.499-.119 1.05-.53 1.456l-.815.806c-.081.08-.073.159-.059.19.162.346.353.677.573.989.02.03.085.076.195.046l1.102-.303c.56-.153 1.113-.008 1.53.27.161.107.328.204.501.29.447.222.85.629.997 1.189l.289 1.105c.029.109.101.143.137.146a6.6 6.6 0 0 0 1.142 0c.036-.003.108-.036.137-.146l.289-1.105c.147-.561.549-.967.998-1.189.173-.086.34-.183.5-.29.417-.278.97-.423 1.529-.27l1.103.303c.109.029.175-.016.195-.045.22-.313.411-.644.573-.99.014-.031.021-.11-.059-.19l-.815-.806c-.411-.406-.562-.957-.53-1.456a4.709 4.709 0 0 0 0-.582c-.032-.499.119-1.05.53-1.456l.815-.806c.081-.08.073-.159.059-.19a6.464 6.464 0 0 0-.573-.989c-.02-.03-.085-.076-.195-.046l-1.102.303c-.56.153-1.113.008-1.53-.27a4.44 4.44 0 0 0-.501-.29c-.447-.222-.85-.629-.997-1.189l-.289-1.105c-.029-.11-.101-.143-.137-.146a6.6 6.6 0 0 0-1.142 0ZM11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0ZM9.5 8a1.5 1.5 0 1 0-3.001.001A1.5 1.5 0 0 0 9.5 8Z"></path></svg> \[Settings]** をクリックします。 \[設定] タブが表示されない場合は、 **\[<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-kebab-horizontal" aria-label="More" role="img"><path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path></svg>]** ドロップダウン メニューを選び、 **\[設定]** をクリックします。

   ![タブを示すリポジトリ ヘッダーのスクリーンショット。 \[設定\] タブが濃いオレンジ色の枠線で強調表示されています。](/assets/images/help/repository/repo-actions-settings.png)

3. サイドバーの \[Code, planning, and automation]\(コード、計画、自動化) の下で、 \[ **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-codespaces" aria-label="codespaces" role="img"><path d="M0 11.25c0-.966.784-1.75 1.75-1.75h12.5c.966 0 1.75.784 1.75 1.75v3A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm2-9.5C2 .784 2.784 0 3.75 0h8.5C13.216 0 14 .784 14 1.75v5a1.75 1.75 0 0 1-1.75 1.75h-8.5A1.75 1.75 0 0 1 2 6.75Zm1.75-.25a.25.25 0 0 0-.25.25v5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-5a.25.25 0 0 0-.25-.25Zm-2 9.5a.25.25 0 0 0-.25.25v3c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-3a.25.25 0 0 0-.25-.25Z"></path><path d="M7 12.75a.75.75 0 0 1 .75-.75h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1-.75-.75Zm-4 0a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Z"></path></svg>Codespaces**] をクリックします。

4. 影響を受けるプレビルド構成の右側にある省略記号 ( **...** ) を選び、 **\[編集]** をクリックします。

   ![\[編集\] が強調されているプレビルド オプション ドロップダウンのスクリーンショット。](/assets/images/help/codespaces/edit-prebuild-configuration.png)

5. \[構成の編集] ページの下部までスクロールし、 **\[詳細オプションの表示]** をクリックします。

   ![プレビルド構成ページの下部のスクリーンショット。 \[詳細オプションの表示\] リンクが濃いオレンジ色の枠線で強調表示されています。](/assets/images/help/codespaces/show-advanced-options.png)

6. 既定の設定を無効にする必要がある場合は、 **\[プレビルドの最適化を無効にする]** を選びます。

   ![\[詳細オプション\] の設定のスクリーンショット。 \[プレビルドの最適化を無効にする\] というラベルのチェックボックスがオンになっています。 この下には \[更新\] ボタンがあります。](/assets/images/help/codespaces/disable-prebuild-optimization.png)

7. 変更を保存するには、 **\[更新]** をクリックします。

## 参考資料

* [プレビルドの構成](/ja/codespaces/prebuilding-your-codespaces/configuring-prebuilds)
* [事前ビルドの管理](/ja/codespaces/prebuilding-your-codespaces/managing-prebuilds)