

Amazon CodeCatalyst は新規のお客様には提供されなくなりました。既存のお客様は、通常どおりサービスを引き続き使用できます。詳細については、「[CodeCatalyst から移行する方法](migration.md)」を参照してください。

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

# 開発環境に devfile を設定
<a name="devenvironment-devfile"></a>

*devfile* は、チーム全体で開発環境をカスタマイズするのに役立つオープンスタンダードです。devfile は、必要な開発ツールをコード化する YAML ファイルです。devfile を設定することで、必要なプロジェクトツールとアプリケーションライブラリを事前に決定でき、Amazon CodeCatalyst はそれらを開発環境にインストールします。devfile は、それが作成したリポジトリに固有のものであり、リポジトリごとに個別の devfile を作成できます。開発環境はコマンドとイベントをサポートし、デフォルトのユニバーサル devfile イメージを提供します。

空のブループリントを使用してプロジェクトを作成する場合は、devfile を手動で作成できます。別のブループリントを使用してプロジェクトを作成すると、CodeCatalyst は自動的に devfile を作成します。開発環境の `/projects` ディレクトリには、ソースリポジトリと devfile からプルされたファイルが保存されます。開発環境を初めて作成するとき、`/home` ディレクトリは空です。開発環境の使用中に作成したファイルが保存されます。開発環境の `/projects` と `/home` ディレクトリのすべての内容は永続的に保存されます。

**注記**  
`/home` フォルダは、devfile または devfile コンポーネント名の名前を変更する場合にのみ変更されます。devfile または devfile コンポーネント名を変更すると、`/home` ディレクトリの内容が置き換えられ、以前の `/home` ディレクトリデータは復元できなくなります。

ルートに devfile が含まれないソースリポジトリを使用して開発環境を作成する場合、またはソースリポジトリなしで開発環境を作成する場合、デフォルトのユニバーサル devfile が自動的にソースリポジトリに適用されます。すべての IDE に同じデフォルトのユニバーサル devfile イメージが使用されます。CodeCatalyst は現在、devfile バージョン 2.0.0 をサポートしています。devfile の詳細については、「[Devfile スキーマ - バージョン 2.0.0](https://devfile.io/docs/2.0.0/devfile-schema)」を参照してください。

**注記**  
devfile にはパブリックコンテナイメージのみを含めることができます。

VPC に接続された開発環境では、次の devfile イメージのみがサポートされることに注意してください。
+ ユニバーサルエージェント
+ リポジトリが VPC と同じリージョンにある場合のプライベート Amazon ECR イメージ

**Topics**
+ [開発環境のリポジトリ devfile の編集](devenvironment-devfile-moving.md)
+ [CodeCatalyst でサポートされている Devfile 機能](#devenvironment-devfile-support)
+ [開発環境の devfile の例](#devenvironment-devfile-example)
+ [リカバリモードを使用したリポジトリ devfile のトラブルシューティング](#devenvironment-devfile-recovery)
+ [開発環境のユニバーサル devfile イメージの指定](devenvironment-universal-image.md)
+ [Devfile コマンド](devenvironment-devfile-commands.md)
+ [Devfile イベント](devenvironment-devfile-events.md)
+ [Devfile コンポーネント](devenvironment-devfile-components.md)

## CodeCatalyst でサポートされている Devfile 機能
<a name="devenvironment-devfile-support"></a>

CodeCatalyst は、バージョン 2.0.0 で以下の devfile 機能をサポートしています。devfile の詳細については、「[Devfile スキーマ - バージョン 2.0.0](https://devfile.io/docs/2.0.0/devfile-schema)」を参照してください。


| 機能 | タイプ | 
| --- | --- | 
| `exec` | コマンド | 
| `postStart` | イベント | 
| `container` | コンポーネント | 
| `args` | コンポーネントのプロパティ | 
| `env` | コンポーネントのプロパティ | 
| `mountSources` | コンポーネントのプロパティ | 
| `volumeMounts` | コンポーネントのプロパティ | 

## 開発環境の devfile の例
<a name="devenvironment-devfile-example"></a>

シンプルな devfile の例を次に示します。

```
schemaVersion: 2.0.0
metadata:
  name: al2
components:
  - name: test
    container:
      image: public.ecr.aws/amazonlinux/amazonlinux:2
      mountSources: true
      command: ['sleep', 'infinity']
  - name: dockerstore
commands:
  - id: setupscript
    exec:
      component: test
      commandLine: "chmod +x script.sh"
      workingDir: /projects/devfiles
  - id: executescript
    exec:
      component: test
      commandLine: "/projects/devfiles/script.sh"
  - id: yumupdate
    exec:
      component: test
      commandLine: "yum -y update --security"
events:
  postStart:
    - setupscript
    - executescript
    - yumupdate
```

Devfile の起動、コマンド、イベントログはキャプチャされ、`/aws/mde/logs` に保存されます。devfile の動作をデバッグするには、有効な devfile を使用して開発環境を起動し、ログにアクセスします。

## リカバリモードを使用したリポジトリ devfile のトラブルシューティング
<a name="devenvironment-devfile-recovery"></a>

devfile の開始に問題がある場合、復旧モードになり、環境に接続して devfile を修正できます。リカバリモードの間、`/aws/mde/mde status` の実行には devfile の場所は含まれません。

```
{
            "status": "STABLE"
        }
```

`/aws/mde/logs` のログでエラーを確認し、devfile を修正して、もう一度 `/aws/mde/mde start` を実行してみてください。