繁体   English   中英

如何使用无服务器 cli 部署多个功能?

[英]How to deploy multiple functions using serverless cli?

从文档中,我可以像这样部署 function

serverless deploy function -f functionName

https://www.serverless.com/framework/docs/providers/aws/cli-reference/deploy-function/

我可以使用这样的命令部署多个功能吗?

  serverless deploy function -f functionName1, functionName2

如果不能,一次部署多个函数怎么办?

谢谢

serverless-cli 不支持在一个 go 中部署多个函数。我附上了一个 bash function,你可以将它添加到你的 bashrc,所以它总是自动为你加载(而不是在打开一个新的时复制和粘贴它)终端)

serverless-deploy-function() {
    # Validate at least one parameter is passed
    [ "$#" -ne 1 ] && echo "USAGE $0 <PARAMETER>" && return 2

    # create a list of the first parameter (split by ,)
    declare -a FUNCTIONS_TO_DEPLOY=($(echo $1 | tr "," " "))

    # remove the first parameter from $@
    shift;
    # loop on the list of functions to deploy
    for x in $FUNCTIONS_TO_DEPLOY
    do
        echo Running \"serverless deploy function -f $x $@\"
        # Pass one function at a time and keep the rest of the arguments the same
        serverless deploy function -f $x $@
    done
}

要使用它,您需要执行以下操作:

$ serverless-deploy-function function1,function2

请记住,如果您在要部署的功能之后添加它们,这还应该支持额外的参数:

$ serverless-deploy-function function1,function2 --stage dev --region us-east-1

或一个 function,如下所示:

$ serverless-deploy-function function1 --stage dev --region us-east-1

我不太清楚如何在 Windows 中执行此操作,但运行以下批处理脚本将生成您通常使用的多行。 然后,您可以将它们复制并粘贴回命令行以按顺序运行它们。

:: used as >> deploy-functions STAGE fn1 fn2 fn...
@echo off

SET stage=%1
shift

:loop
echo serverless deploy --stage %stage% -f %1
shift
if not "%~1"=="" goto loop

我尝试将 output 通过管道传输到单个批处理文件,但运行文件在第一行之后停止。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM