設定開發環境的 devfile - Amazon CodeCatalyst

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

設定開發環境的 devfile

devfile 是一項開放標準,可協助您自訂整個團隊的開發開發環境。devfile 是編纂您所需開發工具YAML的檔案。透過設定 devfile,您可以預先確定所需的專案工具和應用程式程式庫,Amazon 會為您將其 CodeCatalyst 安裝到您的開發環境。該 devfile 專屬於為其建立的儲存庫,您可以為每個儲存庫建立單獨的 devfile。您的開發環境支援命令和事件,並提供預設的通用 devfile 映像。

如果您使用空白藍圖建立專案,則可以手動建立 devfile。如果您使用不同的藍圖建立專案, 會自動 CodeCatalyst 建立 devfile。開發環境的/projects目錄會存放從來源儲存庫和 devfile 提取的檔案。當您第一次建立開發環境時,此/home目錄是空的,會儲存您在使用開發環境時建立的檔案。開發環境的 /projects/home 目錄中的所有內容都會持續儲存。

注意

只有當您變更 devfile 或 devfile 元件名稱時,/home資料夾才會變更。如果您變更 devfile 或 devfile 元件名稱,則會取代/home目錄的內容,而且無法復原您先前的/home目錄資料。

如果您使用來源儲存庫建立的開發環境在其根中不包含 devfile,或者如果您建立的開發環境沒有來源儲存庫,則預設的通用 devfile 會自動套用至來源儲存庫。相同的預設通用 devfile 映像會用於所有 IDEs。 CodeCatalyst 目前支援 devfile 2.0.0 版。如需有關 devfile 的詳細資訊,請參閱 Devfile 結構描述 - 2.0.0 版

注意

您只能在您的 devfile 中包含公用容器影像。

請注意, VPC連線的開發環境僅支援下列開發檔映像:

  • 通用映像

  • 私有 Amazon ECR映像,如果儲存庫位於與 相同的區域 VPC

支援的 Devfile 功能 CodeCatalyst

CodeCatalyst 支援 2.0.0 版的下列 devfile 功能。如需有關 devfile 的詳細資訊,請參閱 Devfile 結構描述 - 2.0.0 版

功能 Type

exec

Command

postStart

事件

container

元件

args

元件屬性

env

元件屬性

mountSources

元件屬性

volumeMounts

元件屬性

開發環境的 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

開發檔案啟動、命令和事件日誌會擷取並儲存在 中/aws/mde/logs。若要偵錯裝置行為,請使用運作中的裝置啟動開發環境,並存取日誌。

使用復原模式對儲存庫裝置進行故障診斷

如果啟動您的 devfile 時發生問題,它會進入復原模式,以便您仍然可以連線到環境並修正您的 devfile。處於復原模式時,執行 /aws/mde/mde status不會包含您裝置的位置。

{ "status": "STABLE" }

您可以在 下的日誌中檢查錯誤/aws/mde/logs、修正裝置檔案,然後/aws/mde/mde start再次嘗試執行。