Заставить cdk diff игнорировать стек

#amazon-web-services #aws-cdk #aws-code-deploy #aws-codebuild

#amazon-веб-сервисы #aws-cdk #aws-code-deploy #aws-codebuild

Вопрос:

У меня есть 2 созданных мною стека cdk, которые я использую для развертывания моей лямбда-функции. Одним из стеков является стек CodePipeline, который запускается при фиксации на Github, создает тесты и развертывает с помощью «CloudFormationDeployAction» в CodeDeploy. Поскольку я развертываю свой lambda через CodePipelines, я не хочу, чтобы он развертывался через терминал.

Но на терминале, когда я выполняю «cdk diff» или «cdk deploy *» для остальной части моего стека, cdk попытается разделить оба стека и вывести потенциальные изменения с помощью стека лямбда, даже если он уже развернут. И выполнение «cdk deploy *» приведет к тому, что cdk попытается развернуть и завершится неудачей (из-за отсутствия параметров, которые предоставляются через CodePipelines).

Есть ли способ заставить команды терминала игнорировать этот лямбдастак?

Комментарии:

1. Если у вас разные стеки, скажем, один для создания вашего CI / CD (CodeBuild и т. Д.) И один для создания вашего хостинга (инициализация lambda), вы должны иметь возможность запускать cdk deploy без развертывания кода. Кроме того, вы можете указать, какой стек вы хотите обновить, с помощью параметра командной строки: cdk deploy BuildStack

2. Я развертываю с определенными стеками с тех пор, как представил LambdaStack, который зависит от параметров, переданных из CodeBuild. Но каждый раз, когда я вношу изменения в другой стек и хочу проверить свои изменения с помощью «cdk diff», LambdaStack также печатает свои ресурсы и загромождает мой терминал.

Ответ №1:

Способ, который я использую для достижения аналогичного результата, заключается в следующем:

  1. В package.json я добавил в scripts "cdk-diff": "tsc amp;amp; cdk diff YourStackYouWantToDiff"
  2. Я запускаю npm run cdk-diff

Это будет выполняться только cdk diff для указанных вами стеков, здесь YourStackYouWantToDiff .

В случае объявленных зависимостей между стеками, таких как aStack.addDependency(bStack) , cdk diff выполняется как в aStack, так и в bStack.