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

觀察到的檔案取決於檔案中"watch"的設定cdk.json。它有兩個子索引鍵 "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 部署。偵測到無法透過 hotswap 更新的任何變更都會遭到忽略。

預設值true

--hotswap-fallback BOOLEAN

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

--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 停用此行為。如果資源無法建立或更新,CDK CLI會保留到該時間點所做的變更並傳回。這對於您快速迭代的開發環境可能很有幫助。

注意

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

預設值true

--toolkit-stack-name STRING

現有 CDK Toolkit 堆疊的名稱。

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

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

範例

使用邏輯 ID DevelopmentStack 觀看 CDK 堆疊以進行變更

$ 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.json 檔案,在部署Java前使用 建置 CDK 專案

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