Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何通过命令行在不同阶段部署无服务器代码?_Node.js_Aws Api Gateway_Serverless Framework_Serverless_Staging - Fatal编程技术网

Node.js 如何通过命令行在不同阶段部署无服务器代码?

Node.js 如何通过命令行在不同阶段部署无服务器代码?,node.js,aws-api-gateway,serverless-framework,serverless,staging,Node.js,Aws Api Gateway,Serverless Framework,Serverless,Staging,目前,我正在使用以下命令行从我的本地机器在不同阶段进行部署: 无服务器部署--阶段qa 但是这段代码在API网关部分中创建了一个全新的部分(项目)。请参阅我的附加链接 此代码是否应该在API->(API项目)->阶段部分中创建serverless deploy--stage qa不同阶段 我有点困惑哪条路是正确的。我看到很多教程都是双向创建的。然而对我来说,在一个项目中创建不同的阶段是有意义的 还是有不同的命令来完成我想要的任务?我认为编写serverless的方式是一种更干净的方式,可以部署

目前,我正在使用以下命令行从我的本地机器在不同阶段进行部署:

无服务器部署--阶段qa

但是这段代码在API网关部分中创建了一个全新的部分(项目)。请参阅我的附加链接

此代码是否应该在API->(API项目)->阶段部分中创建
serverless deploy--stage qa
不同阶段

我有点困惑哪条路是正确的。我看到很多教程都是双向创建的。然而对我来说,在一个项目中创建不同的阶段是有意义的


还是有不同的命令来完成我想要的任务?

我认为编写serverless的方式是一种更干净的方式,可以部署到不同的阶段。虽然API网关允许在同一API网关下执行不同的阶段,但这为意外地执行您不想执行的操作留下了更多的空间,例如,意外地破坏了生产API而不是开发API

此外,最佳实践是每个阶段都有自己的AWS账户。这使您能够在帐户级别更好地锁定生产环境,以避免意外更改。这对所有AWS资源都是有益的,而不仅仅是API网关

如果您遵循最佳实践,并且每个阶段都有一个AWS帐户,那么您的问题就不会出现,因为您的每个阶段帐户中都有一个API网关


如果这些最佳实践不适用于您的应用程序,您可以始终恢复到正常的CloudFormation模板,以强制每个阶段在同一API网关下进行不同的部署。

我认为编写serverless的方式是一种更干净的方式来部署到不同的阶段。虽然API网关允许在同一API网关下执行不同的阶段,但这为意外地执行您不想执行的操作留下了更多的空间,例如,意外地破坏了生产API而不是开发API

此外,最佳实践是每个阶段都有自己的AWS账户。这使您能够在帐户级别更好地锁定生产环境,以避免意外更改。这对所有AWS资源都是有益的,而不仅仅是API网关

如果您遵循最佳实践,并且每个阶段都有一个AWS帐户,那么您的问题就不会出现,因为您的每个阶段帐户中都有一个API网关


如果这些最佳实践不适用于您的应用程序,您可以始终恢复到正常的CloudFormation模板,以强制每个阶段在同一API网关下进行不同的部署。

此外,对于@Gaz_Edge,我要补充的是,在无服务器框架
阶段
实际上是一个CloudFormation
堆栈
。我发现这个命名很混乱。此外,在@Gaz_Edge中,我要补充一点,在无服务器框架
stage
中,实际上是一个云信息
堆栈。我觉得这个命名很混乱。