AWS Node JS代码部署SDK:RegisterApplicationRevision和createDeployment之间的区别
问题描述:
我正在编写一个用于在AWS上使用AWS代码部署SDK for node.js进行部署的小型实用程序。通过文档去,我看到了下面的方法:AWS Node JS代码部署SDK:RegisterApplicationRevision和createDeployment之间的区别
registerApplicationRevision:
var params = {
applicationName: 'STRING_VALUE', /* required */
revision: { /* required */
gitHubLocation: {
commitId: 'STRING_VALUE',
repository: 'STRING_VALUE'
},
revisionType: 'S3 | GitHub',
s3Location: {
bucket: 'STRING_VALUE',
bundleType: 'tar | tgz | zip',
eTag: 'STRING_VALUE',
key: 'STRING_VALUE',
version: 'STRING_VALUE'
}
},
description: 'STRING_VALUE'
};
codedeploy.registerApplicationRevision(params, function(err, data) {
if (err) console.log(err, err.stack); // an error occurred
else console.log(data); // successful response
});
和createDeployment:
var params = {
applicationName: 'STRING_VALUE', /* required */
deploymentConfigName: 'STRING_VALUE',
deploymentGroupName: 'STRING_VALUE',
description: 'STRING_VALUE',
ignoreApplicationStopFailures: true || false,
revision: {
gitHubLocation: {
commitId: 'STRING_VALUE',
repository: 'STRING_VALUE'
},
revisionType: 'S3 | GitHub',
s3Location: {
bucket: 'STRING_VALUE',
bundleType: 'tar | tgz | zip',
eTag: 'STRING_VALUE',
key: 'STRING_VALUE',
version: 'STRING_VALUE'
}
}
};
codedeploy.createDeployment(params, function(err, data) {
if (err) console.log(err, err.stack); // an error occurred
else console.log(data); // successful response
});
从上面的代码,就好像我可以不注册一个创建部署修订明确地使用寄存器修订方法,因为它取得修订所需的所有参数。还是在我创建修订之前仍然需要创建修订? registerApplicationRevision方法的目的是什么?有没有一种特定的方法来触发构建,或者只要我创建一个新的部署,它会自行触发?
答
在创建部署之前,您不必注册修订。这将在您创建部署时隐式发生。注册修订的唯一目的是在进行部署之前将其记录添加到修订列表中。已注册的修订将显示在控制台中,以便您可以将要部署的内容与您认为正在部署的内容进行比较。如果您不希望将其作为发布过程的一部分,则可以跳过注册步骤。
注意:推送CLI命令在注册时停止,并告诉您它注册了什么修订。因此,如果您使用push命令,则可以使用注册来验证它是否正常工作。