

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# ビルド仕様に関するリファレンス
<a name="yml-specification-syntax"></a>

Amplify のアプリケーションのビルド仕様は、Amplify がビルドの実行に使用する YAML 設定とビルドコマンドを集めたものです。以下のリストでは、これらの設定とその使用方法について説明しています。

**バージョン**  
Amplify YAML バージョン番号。

**appRoot**  
このアプリケーションが置かれているリポジトリ内のパス。複数のアプリケーションが定義されていない限り無視されます。

**env**  
環境変数をこのセクションに追加します。また、環境変数はコンソールを使用して追加することもできます。

**backend**  
Amplify CLI コマンドを実行して、バックエンドのプロビジョン、Lambda 関数の更新、または継続的なデプロイの一環としての GraphQL スキーマの更新を行います。

**frontend**  
フロントエンドのビルドコマンドを実行します。

**test**  
テストフェーズ中にコマンドを実行します。[アプリにテストを追加する](running-tests.md)方法をご覧ください。

**ビルドフェーズ**  
フロントエンド、バックエンド、およびテストには、ビルドの各シーケンス中に実行されるコマンドを表す 3 つの*フェーズ*があります。  
+  **preBuild** - preBuild スクリプトが、実際のビルドの開始前、Amplify が依存関係をインストールした後に実行されます。
+  **build** - お客様のビルドコマンド。
+  **postBuild** - post-build スクリプトは、ビルドが終了し、Amplify が必要なすべてのアーティファクトを出力ディレクトリにコピーした後に実行されます。

**buildpath**  
ビルドの実行に使用するパス。Amplify はこのパスを使用してビルドアーティファクトを見つけます。パスを指定しない場合、Amplify は、モノレポのアプリルートを使用します。(例: `apps/app`)

**artifacts>base-directory**  
ビルドアーティファクトが存在するディレクトリ。

**artifacts>files**  
デプロイするアーティファクトからファイルを指定します。すべてのファイルを含めるには `**/*` を入力します。

**cache**  
*node\$1modules* フォルダなどのビルド時の依存関係を指定します。最初のビルドでは、ここで提供されるパスがキャッシュされます。以降のビルドでは、Amplify はコマンドを実行する前にキャッシュを同じパスに復元します。  
Amplify は、提供されたすべてのキャッシュパスをプロジェクトルートに対する相対パスと見なします。ただし、Amplify はプロジェクトルート外へのトラバースを許可しません。たとえば、絶対パスを指定すると、ビルドはエラーなしで成功しますが、パスはキャッシュされません。

## ビルド仕様 YAML 構文のリファレンス
<a name="build-yaml-syntax"></a>

以下のビルド仕様例は、基本的な YAML 構文を示しています。

```
version: 1
env:
  variables:
    key: value
backend:
  phases:
    preBuild:
      commands:
        - *enter command*
    build:
      commands:
        - *enter command*
    postBuild:
        commands:
        - *enter command*
frontend:
  buildpath:
  phases:
    preBuild:
      commands:
        - cd react-app
        - npm ci
    build:
      commands:
        - npm run build
  artifacts:
    files:
        - location
        - location
    discard-paths: yes
    baseDirectory: location
  cache:
    paths:
        - path # A cache path relative to the project root
        - path # Traversing outside of the project root is not allowed
test:
  phases:
    preTest:
      commands:
        - *enter command*
    test:
      commands:
        - *enter command*
    postTest:
      commands:
        - *enter command*
  artifacts:
    files:
        - location
        - location
    configFilePath: *location*
    baseDirectory: *location*
```