本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
了解建置規格
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*