本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
为开发环境配置开发文件
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 架构-版本
注意
您只能在 devfile 中包含公共容器镜像。
请注意,VPC连接的开发环境仅支持以下 devfile 镜像:
-
通用图像
-
Amazon 私有ECR镜像,前提是存储库与存储库位于同一区域 VPC
主题
支持的 Devfile 功能 CodeCatalyst
CodeCatalyst 在 2.0.0 版本上支持以下开发文件功能。有关开发文件的更多信息,请参阅 Devfile 架构-版本
功能 | 类型 |
---|---|
|
命令 |
|
事件 |
|
组件 |
|
组件属性 |
|
组件属性 |
|
组件属性 |
|
组件属性 |
开发环境的开发文件示例
以下是一个简单的 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
。