Łuk*_*asz 3 amazon-web-services aws-cdk
是否有人知道执行部署后功能的方法。Follwing 是一个休闲 CDK 应用程序的示例。
app = core.App()
Stack(app, ...)
app.synth()
Run Code Online (Sandbox Code Playgroud)
我正在寻找的是一种在部署模板后应用一些逻辑的方法。问题是应用程序在 cdk 工具开始部署模板之前完成。
谢谢
mar*_*use 11
我发现在文件下添加部署脚本并通过文件在 CDK 部署命令之前和之后调用cdk deploy它更方便,而不是将命令包装在 bash 脚本中。这样您就可以继续使用该命令,而无需手动调用自定义脚本。prepostcdk_hooks.shcdk.jsoncdk deploy
cdk.json
{
"app": "sh cdk_hooks.sh pre && npx ts-node bin/stacks.ts && sh cdk_hooks.sh post"
,
"context": {
"@aws-cdk/core:enableStackNameDuplicates": "true",
"aws-cdk:enableDiffNoFail": "true"
}
}
Run Code Online (Sandbox Code Playgroud)
和cdk_hooks.sh
#!/bin/bash
PHASE=$1
case "$PHASE" in
pre)
# Do something
;;
post)
# Do something
;;
*)
echo "Please provide a valid cdk_hooks phase"
exit 64
esac
Run Code Online (Sandbox Code Playgroud)
您目前无法从 CDK 执行此操作。请参阅https://github.com/awslabs/aws-cdk/issues/2849。也许在那里添加您的 +1,让他们知道您希望看到此功能。
您可以做的是包装cdk deploy在一个 shell 脚本中,该脚本将在 CDK 完成后运行您需要的任何内容。就像是:
#!/bin/sh
cdk deploy "$@"
success=$?
if [ $success != 0 ]; then
exit $success
fi
run_post_deploy_with_arguments.sh "$@"
Run Code Online (Sandbox Code Playgroud)
将使用给定的参数运行部署,然后调用一个 shell 脚本,如果部署成功则传递相同的参数。这是一个非常粗略的例子。
| 归档时间: |
|
| 查看次数: |
2568 次 |
| 最近记录: |