Open gosaaan1 opened 7 months ago
ルートに devfile を含まないソースリポジトリを使用して開発環境を作成する場合、またはソースリポジトリなしで開発環境を作成する場合、デフォルトのユニバーサル devfile がソースリポジトリに自動的に適用されます。
ちなみに、以下のような内容のdevfile.yamlが生成されます。
schemaVersion: 2.0.0
metadata:
name: aws-universal
version: 1.0.1
displayName: AWS Universal
description: Stack with AWS Universal Tooling
tags: ["aws", "al2"]
projectType: "aws"
components:
- name: aws-runtime
container:
image: [public.ecr.aws/aws-mde/universal-image:latest](http://public.ecr.aws/aws-mde/universal-image:latest)
mountSources: true
volumeMounts:
- name: docker-store
path: /var/lib/docker
- name: docker-store
volume:
size: 16Gi
ユニバーサルイメージについて
public.ecr.aws/aws-mde/universal-image:latest イメージはpublic.ecr.aws/aws-mde/universal-image:3.0イメージを取得します。
3.0に含まれているパッケージについて
$ terraform --version
Terraform v1.5.7
on linux_amd64
devfile.yamlを作成してみました。Dev Environmentを開くだけで、devfile.yamlのpostStartが実行されるようす。
aws-vault exec hokulea --no-session -- env | grep AWS
が動くところまで確認済み。
実際に terraform plan
するところまではできていないので、改めて確認する。
https://github.com/gosaaan1/hokulea-garage/commit/31194de5d75f3f2a244fe378176aaafebd7e73a5
devfile.yamlが読み込まれているかどうかは /aws/mde/mde status
というコマンドで確認することができる。
VSCodeでいう開発コンテナのリビルドは/aws/mde/mde start --location {repository-name}/devfile.yaml
でできる。
個々のPCに開発環境を構築する場合、ハードウェア性能やOSの違いなどによりどうしても”ばらつき”が起こりやすく、セットアップがスムーズにいかない、マシンが重くて使えないというケースがよくあると思います。また複数ある開発環境それぞれをクリーンに保ちたい(バージョン違いの複数の環境を持っておきたい)というニーズもあると思います。
CodeCatalystには Devfile を使って、AWS上に簡単にクラウドの開発環境を構築する機能があり、これを使うと面倒な手順書づくりや、開発環境構築に必要なプラットフォーム依存のフォローから開放されます。