了解建置規格 - AWS Amplify 託管

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

了解建置規格

Amplify 應用程式的建置規格是 Amplify 用來執行建置YAML的設定和建置命令集合。下列清單說明這些設定及其使用方式。

version

Amplify YAML版本編號。

appRoot

此應用程式所在的儲存庫內的路徑。除非定義了多個應用程式,否則會忽略。

env

將環境變數新增至本節。您也可以使用主控台新增環境變數。

後端

執行 Amplify CLI命令來佈建後端、更新 Lambda 函數或 GraphQL 結構描述,作為連續部署的一部分。

前端

執行前端建置命令。

test

在測試階段執行命令。了解如何將測試新增至您的應用程式

建置階段

前端、後端和測試有三個階段,代表建置的每個序列期間執行的命令。

  • preBuild - preBuild 指令碼會在實際建置開始之前執行,但在 Amplify 安裝相依性之後執行。

  • build - 您的建置命令。

  • postBuild - 建置完成後執行建置後指令碼,且 Amplify 已將所有必要成品複製到輸出目錄。

buildpath

用來執行建置的路徑。Amplify 使用此路徑來尋找您的建置成品。如果您未指定路徑,Amplify 會使用 monorepo 應用程式根,例如 apps/app

artifacts>base-directory

您建置成品所在的目錄。

artifacts>files

從您要部署的成品中指定檔案。輸入 **/* 以包含所有檔案。

快取

指定建置時間相依性,例如 node_modules 資料夾。在第一次建置期間,此處提供的路徑會快取。在後續建置中,Amplify 會在執行命令之前,將快取還原至相同的路徑。

Amplify 會將所有提供的快取路徑視為與您的專案根目錄相關。不過,Amplify 不允許在專案根目錄外周遊。例如,如果您指定絕對路徑,組建將成功,不會發生錯誤,但路徑不會快取。

下列組建規格範例示範基本YAML語法。

version: 1 env: variables: key: value backend: phases: preBuild: commands: - *enter command* build: commands: - *enter command* postBuild: commands: - *enter command* frontend: buildpath: phases: preBuild: commands: - cd react-app - npm ci build: commands: - npm run build artifacts: files: - location - location discard-paths: yes baseDirectory: location cache: paths: - path # A cache path relative to the project root - path # Traversing outside of the project root is not allowed test: phases: preTest: commands: - *enter command* test: commands: - *enter command* postTest: commands: - *enter command* artifacts: files: - location - location configFilePath: *location* baseDirectory: *location*