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命令,则可以使用注册来验证它是否正常工作。