为开发环境配置开发文件 - Amazon CodeCatalyst

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

为开发环境配置开发文件

devfile 是一种开放标准,可帮助您在整个团队中自定义开发开发环境。devfile 是一个用于编纂所需开发工具的YAML文件。通过配置开发文件,您可以预先确定所需的项目工具和应用程序库,然后 Amazon CodeCatalyst 将它们安装到您的开发环境中。devfile 特定于为其创建的存储库,您可以为每个存储库创建一个单独的 devfile。您的开发环境支持命令和事件,并提供默认的通用开发文件镜像。

如果您使用空蓝图创建项目,则可以手动创建开发文件。如果您使用不同的蓝图创建项目,则会自动 CodeCatalyst 创建一个 devfile。开发环境的/projects目录存储从源存储库和开发文件中提取的文件。该/home目录在您首次创建开发环境时为空,用于存储您在使用开发环境时创建的文件。开发环境/projects/home目录中的所有内容都永久存储。

注意

只有在更改 devfile 或 devfile 组件名称时,该/home文件夹才会更改。如果更改 devfile 或 devfile 组件名称,则/home目录的内容将被替换,并且无法恢复之前的/home目录数据。

如果您创建的开发环境的源存储库的根目录中不包含开发文件,或者您创建的开发环境没有源存储库,则默认的通用开发文件会自动应用于源存储库。所有IDEs用户都使用相同的默认通用 devfile 镜像。 CodeCatalyst 目前支持 devfile 版本 2.0.0。有关开发文件的更多信息,请参阅 Devfile 架构-版本 2.0.0。

注意

您只能在 devfile 中包含公共容器镜像。

请注意,VPC连接的开发环境仅支持以下 devfile 镜像:

  • 通用图像

  • Amazon 私有ECR镜像,前提是存储库与存储库位于同一区域 VPC

支持的 Devfile 功能 CodeCatalyst

CodeCatalyst 在 2.0.0 版本上支持以下开发文件功能。有关开发文件的更多信息,请参阅 Devfile 架构-版本 2.0.0。

功能 类型

exec

命令

postStart

事件

container

组件

args

组件属性

env

组件属性

mountSources

组件属性

volumeMounts

组件属性

开发环境的开发文件示例

以下是一个简单的 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 进行故障排除

如果启动你的开发文件时出现问题,它将进入恢复模式,这样你仍然可以连接到你的环境并修复你的开发文件。在恢复模式下,运行时/aws/mde/mde status不会包含开发文件的位置。

{ "status": "STABLE" }

你可以检查下方日志中的错误/aws/mde/logs,修复开发文件,然后重试运行/aws/mde/mde start