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

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

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

cdk watch

持續監視本地 AWS CDK 項目以進行部署和 hotswaps 的更改。

此指令類似於cdk deploy,不同之處在於它可以透過單一指令執行連續部署和 hotswaps。

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

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

觀察到的檔案由cdk.json檔案中的"watch"設定決定。它有兩個子鍵,"include"並且"exclude",接受單個字符串或字符串數組。每個項目都會被解譯為相對於cdk.json檔案位置的路徑。兩者***被接受。

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

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

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

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

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

注意

這個命令被認為是實驗性的,future 可能會有突破性的變化。

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

用量

$ cdk watch <arguments> <options>

引數

CDK 堆疊邏輯識別碼

從您的應用程序觀看的 CDK 堆棧的邏輯 ID。

類型:字串

必要:否

選項

如需與所有 CDK CLI 指令搭配使用的全域選項清單,請參閱〈〉全域選項

--build-exclude, -E ARRAY

請勿使用指定 ID 重建資產。

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

預設值[]

--change-set-name STRING

要建立之 CloudFormation 變更集的名稱。

--concurrency NUMBER

並行部署和快速交換多個堆疊,parallel 時考量堆疊間的相依性。使用此選項可加快部署速度。您仍然必須考慮 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嘗試執行 hotswap 部署,並忽略需要部署的變更。 CloudFormation 如果 hotswap 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用此行為。如果無法建立或更新資源,CDK CLI 將保留對該點所做的變更並傳回。這可能會在您快速迭代的開發環境中有所幫助。

注意

何時false,導致資源取代的部署永遠會失敗。您只能將此值用於更新或建立新資源的部署。

預設值true

--toolkit-stack-name STRING

現有 CDK 工具組堆疊的名稱。

此選項僅適用於使用舊式合成的 CDK 應用程式。

範例

觀看帶有邏輯 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/*" } }