cdk watch - AWS Cloud Development Kit (AWS CDK) v2

這是 AWS CDK v2 開發人員指南。較舊的 CDK v1 已於 2022 年 6 月 1 日進入維護,並於 2023 年 6 月 1 日結束支援。

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

cdk watch

持續監控本機 AWS CDK 專案的變更,以執行部署和熱換片。

此命令類似於 cdk deploy,但可以透過單一命令執行連續部署和熱換片。

此命令是 的捷徑cdk deploy --watch

若要結束cdk watch工作階段,請按 以中斷程序Ctrl+C

觀察到的檔案取決於cdk.json檔案中"watch"的設定。它有兩個子索引鍵,"include"以及"exclude"接受單一字串或字串陣列的 。每個項目都會解譯為相對於cdk.json檔案位置的路徑。** 接受 *和 兩者。

如果您使用 cdk init命令建立專案,則會cdk watch在專案的 cdk.json 檔案中設定下列預設行為:

  • "include" 設定為 "**/*",其中包含專案根中的所有檔案和目錄。

  • "exclude" 為選用,但預設已忽略的檔案和資料夾除外。這包括以 .、CDK輸出目錄和node_modules目錄開頭的檔案和目錄。

要設定的最小設定watch"watch": {}

如果您的CDK程式碼或應用程式程式碼在部署之前需要建置步驟, cdk watch 會使用 cdk.json 檔案中的 "build"金鑰。

注意

此命令被視為實驗性,未來可能會有重大變更。

相同的 限制cdk deploy --hotswap適用於 cdk watch。如需詳細資訊,請參閱cdk deploy --hotswap

用量

$ cdk watch <arguments> <options>

引數

CDK 堆疊 ID

要觀看之應用程式CDK堆疊的建構 ID。

類型:字串

必要:否

選項

如需適用於所有 的全域選項清單 CDK CLI 命令,請參閱 全域選項

--build-exclude, -E ARRAY

請勿以指定的 ID 重建資產。

此選項可在單一命令中指定多次。

預設值[]

--change-set-name STRING

要建立的變更 CloudFormation 集名稱。

--concurrency NUMBER

並行部署和熱交換多個堆疊,同時考慮堆疊間相依性。使用此選項可加速部署。您仍然必須考慮 CloudFormation 和其他 AWS 帳戶 速率限制。

提供數字以指定要同時執行的部署數量上限 (依存性允許)。

預設值1

--exclusively, -e BOOLEAN

僅部署請求的堆疊,不包括相依性。

--force, -f BOOLEAN

即使範本相同,也一律部署堆疊。

預設值false

--help, -h BOOLEAN

顯示 命令的cdk watch命令參考資訊。

--hotswap BOOLEAN

根據預設, 會盡可能cdk watch使用 Hotswap 部署來更新您的資源。的 CDK CLI 會嘗試執行熱插拔部署,如果失敗,則不會回復到完整 CloudFormation 部署。偵測到無法透過熱插拔更新的任何變更都會遭到忽略。

預設值true

--hotswap-fallback BOOLEAN

根據預設, 會cdk watch嘗試執行熱交換部署,並忽略需要 CloudFormation 部署的變更。如果熱插拔 CloudFormation 部署失敗,則提供 --hotswap-fallback倒退並執行完整部署。

--logs BOOLEAN

根據預設, cdk watch會監控應用程式中的所有 CloudWatch 日誌群組,並將日誌事件本機串流至 stdout

預設值true

--progress STRING

設定 的方式 CDK CLI 會顯示部署進度。

  • bar – 將堆疊部署事件顯示為進度列,其中資源的事件目前正在部署。

  • events – 提供完整歷史記錄,包括所有 CloudFormation 事件。

您也可以在專案的cdk.json檔案中或本機開發機器~/.cdk.json上的 設定此選項:

{ "progress": "events" }

有效值barevents

預設值bar

--rollback BOOLEAN

在部署期間,如果資源無法建立或更新,部署將回復到 CDK CLI 傳回。在該時間點之前所做的所有變更都會復原。已建立的資源將被刪除,而已進行更新將復原。

使用 --no-rollback-R 停用此行為。如果資源無法建立或更新, CDKCLI 將保留到該時間點所做的變更並傳回。這對於您快速迭代的開發環境可能很有幫助。

注意

當 時false,造成資源取代的部署一律會失敗。您只能將此值用於更新或建立新資源的部署。

預設值true

--toolkit-stack-name STRING

現有 CDK Toolkit 堆疊的名稱。

根據預設, 會將名為 cdk bootstrap 的堆疊部署CDKToolkit到指定的 AWS 環境中。使用此選項為您的引導堆疊提供不同的名稱。

的 CDK CLI 使用此值來驗證您的引導堆疊版本。

範例

觀看具有邏輯 ID 的CDK堆疊 DevelopmentStack 以進行變更

$ cdk watch DevelopmentStack Detected change to 'lambda-code/index.js' (type: change). Triggering 'cdk deploy' DevelopmentStack: deploying... ✅ DevelopmentStack

為要包含和排除哪些項目設定 cdk.json 檔案,使其不被監控變更

{ "app": "mvn -e -q compile exec:java", "watch": { "include": "src/main/**", "exclude": "target/*" } }

使用 建置CDK專案 Java 透過設定 cdk.json 檔案在部署之前

{ "app": "mvn -e -q exec:java", "build": "mvn package", "watch": { "include": "src/main/**", "exclude": "target/*" } }