AWS CDK 给出:无法确定之间的顺序:<Stack-Name> 完成构建后
AWS CDK giving: Could Not determine ordering between: <Stack-Name> after doing a build
我正在尝试部署服务的 cdk 资源
这是我的app.ts
我已经定义了所有必需的资源并且还定义了依赖项但是当我构建它时我 ger Coudl 不确定之间的顺序:
我不知道出了什么问题?
import {
Vpc
} from "./igvs/stack/vpc";
import {
EcsClusterStack
} from "./igvs/stack/ecs_cluster";
import {
EcsServiceStack
} from "./igvs/stack/ecs_service";
import {
IGVSPipelineStage,
Stage
} from './pipeline/igvs_pipeline_properties';
import core = require('monocdk');
const stackName = 'STACK'
const app = new core.App();
const personalBootstrap = BootstrapStack.personalBootstrap(app, {
account: '',
region: 'eu-west-1',
disambiguator: '',
stackName: stackName
});
const personalVpc = new Vpc(app, 'user-IGVS-VPC', {
env: personalBootstrap.deploymentEnvironment,
stackName: stackName,
region: personalBootstrap.region,
stage: Stage.Beta
});
const personalCluster = new EcsClusterStack(app, 'user-IGVS-Cluster', {
env: personalBootstrap.deploymentEnvironment,
vpc: personalVpc.vpc,
stackName: stackName
});
const personalEcsService = new EcsServiceStack(app, 'user-IGVS-StackEcsService', {
ecsCluster: personalCluster.cluster,
vpc: personalVpc.vpc,
stage: Stage.Beta,
env: personalBootstrap.deploymentEnvironment,
region: personalBootstrap.region,
appName: "IGVS-STACK",
stackName: stackName,
domainName: ',
pipelineStage: IGVSPipelineStage.Alpha
});
personalCluster.node.addDependency(personalVpc);
personalEcsService.node.addDependency(personalCluster);
但是在构建之后我得到了这个错误
/local/home/user/workspace/IGVS-ExponentialPollingTime/src/SERVICECDK/node_modules/monocdk/lib/cx-api/lib/toposort.js:29
throw new Error(`Could not determine ordering between: ${Array.from(remaining.keys()).join(', ')}`);
^
Error: Could not determine ordering between: IGVS-STACK
at Object.topologicalSort (/local/home/user/workspace/IGVS-ExponentialPollingTime/src/SERVICECDK/node_modules/monocdk/lib/cx-api/lib/toposort.js:29:19)
at CloudAssembly.renderArtifacts (/local/home/suslah/workspace/IGVS-ExponentialPollingTime/src/SERVICECDK/node_modules/monocdk/lib/cx-api/lib/cloud-assembly.js:17
8:27)
at new CloudAssembly (/local/home/user/workspace/IGVS-ExponentialPollingTime/src/SERVICECDK/node_modules/monocdk/lib/cx-api/lib/cloud-assembly.js:35:31)
at CloudAssemblyBuilder.buildAssembly (/local/home/user/workspace/IGVS-ExponentialPollingTime/src/SERVICECDK/node_modules/monocdk/lib/cx-api/lib/cloud-assembly.
js:255:16)
at Object.synthesize (/local/home/user/workspace/IGVS-ExponentialPollingTime/src/SERVICECDK/node_modules/monocdk/lib/core/lib/private/synthesis.js:34:20)
at App.synth (/local/home/user/workspace/IGVS-ExponentialPollingTime/src/InvestigatorGuidedValidatorServiceCDK/node_modules/monocdk/lib/core/lib/stage.js:100:41)
at process.<anonymous> (/local/home/user/workspace/IGVS-ExponentialPollingTime/src/SERVICECDK/node_modules/monocdk/lib/core/lib/app.js:50:51)
at Object.onceWrapper (events.js:421:26)
at process.emit (events.js:314:20)
Subprocess exited with error 1
› Error: Failed to run application build system.
BUILD FAILED
我无法理解为什么会发生这种情况我在没有使用 addDependency 的情况下进行了尝试,但仍然面临同样的问题非常感谢您的帮助!谢谢
我能够解决问题
我将每个堆栈命名为 stackName 一个唯一的
对于 VPC:user-VPC-stack 等构建成功
我正在尝试部署服务的 cdk 资源
这是我的app.ts 我已经定义了所有必需的资源并且还定义了依赖项但是当我构建它时我 ger Coudl 不确定之间的顺序: 我不知道出了什么问题?
import {
Vpc
} from "./igvs/stack/vpc";
import {
EcsClusterStack
} from "./igvs/stack/ecs_cluster";
import {
EcsServiceStack
} from "./igvs/stack/ecs_service";
import {
IGVSPipelineStage,
Stage
} from './pipeline/igvs_pipeline_properties';
import core = require('monocdk');
const stackName = 'STACK'
const app = new core.App();
const personalBootstrap = BootstrapStack.personalBootstrap(app, {
account: '',
region: 'eu-west-1',
disambiguator: '',
stackName: stackName
});
const personalVpc = new Vpc(app, 'user-IGVS-VPC', {
env: personalBootstrap.deploymentEnvironment,
stackName: stackName,
region: personalBootstrap.region,
stage: Stage.Beta
});
const personalCluster = new EcsClusterStack(app, 'user-IGVS-Cluster', {
env: personalBootstrap.deploymentEnvironment,
vpc: personalVpc.vpc,
stackName: stackName
});
const personalEcsService = new EcsServiceStack(app, 'user-IGVS-StackEcsService', {
ecsCluster: personalCluster.cluster,
vpc: personalVpc.vpc,
stage: Stage.Beta,
env: personalBootstrap.deploymentEnvironment,
region: personalBootstrap.region,
appName: "IGVS-STACK",
stackName: stackName,
domainName: ',
pipelineStage: IGVSPipelineStage.Alpha
});
personalCluster.node.addDependency(personalVpc);
personalEcsService.node.addDependency(personalCluster);
但是在构建之后我得到了这个错误
/local/home/user/workspace/IGVS-ExponentialPollingTime/src/SERVICECDK/node_modules/monocdk/lib/cx-api/lib/toposort.js:29
throw new Error(`Could not determine ordering between: ${Array.from(remaining.keys()).join(', ')}`);
^
Error: Could not determine ordering between: IGVS-STACK
at Object.topologicalSort (/local/home/user/workspace/IGVS-ExponentialPollingTime/src/SERVICECDK/node_modules/monocdk/lib/cx-api/lib/toposort.js:29:19)
at CloudAssembly.renderArtifacts (/local/home/suslah/workspace/IGVS-ExponentialPollingTime/src/SERVICECDK/node_modules/monocdk/lib/cx-api/lib/cloud-assembly.js:17
8:27)
at new CloudAssembly (/local/home/user/workspace/IGVS-ExponentialPollingTime/src/SERVICECDK/node_modules/monocdk/lib/cx-api/lib/cloud-assembly.js:35:31)
at CloudAssemblyBuilder.buildAssembly (/local/home/user/workspace/IGVS-ExponentialPollingTime/src/SERVICECDK/node_modules/monocdk/lib/cx-api/lib/cloud-assembly.
js:255:16)
at Object.synthesize (/local/home/user/workspace/IGVS-ExponentialPollingTime/src/SERVICECDK/node_modules/monocdk/lib/core/lib/private/synthesis.js:34:20)
at App.synth (/local/home/user/workspace/IGVS-ExponentialPollingTime/src/InvestigatorGuidedValidatorServiceCDK/node_modules/monocdk/lib/core/lib/stage.js:100:41)
at process.<anonymous> (/local/home/user/workspace/IGVS-ExponentialPollingTime/src/SERVICECDK/node_modules/monocdk/lib/core/lib/app.js:50:51)
at Object.onceWrapper (events.js:421:26)
at process.emit (events.js:314:20)
Subprocess exited with error 1
› Error: Failed to run application build system.
BUILD FAILED
我无法理解为什么会发生这种情况我在没有使用 addDependency 的情况下进行了尝试,但仍然面临同样的问题非常感谢您的帮助!谢谢
我能够解决问题
我将每个堆栈命名为 stackName 一个唯一的
对于 VPC:user-VPC-stack 等构建成功