在serverless.yml
中,部署配置文件设置如下
custom:
defaultStage: dev
profiles:
dev: b***2_dev
prod: b***2_prod
suku: b***2_suku
虽然默认部署为dev
,但我希望在不更改defaultStage的情况下部署配置文件suku
。
这是什么命令? sls deploy --profile suku
没有工作
答案 0 :(得分:5)
目前不支持--profile参数。您可以通过适当设置AWS_PROFILE环境变量来设置环境。要使用系统设置中默认配置文件以外的特定配置文件运行命令,您可以执行以下操作:
在Linux& OSX:
AWS_PROFILE=suku sls deploy
在Windows上:
cmd /C "set AWS_PROFILE=suku && sls deploy"
答案 1 :(得分:3)
在无服务器的最新版本(目前为1.26.1)上,您可以提供参数--aws-profile
ex:sls --aws-profile suku deploy
https://serverless.com/framework/docs/providers/aws/guide/credentials#using-the-aws-profile-option
但是,在您的情况下,另一种选择可能是使用“每阶段”配置文件:
service: new-service
provider:
name: aws
runtime: nodejs6.10
stage: ${opt:stage, self:custom.defaultStage}
profile: ${self:custom.profiles.${self:provider.stage}}
custom:
defaultStage: dev
profiles:
dev: devProfile
prod: prodProfile
https://serverless.com/framework/docs/providers/aws/guide/credentials#per-stage-profiles
答案 2 :(得分:0)
确保在~/.aws/credentials
中设置了您的AWS配置文件,您可以运行export AWS_PROFILE=selectedAccount
。在其余的Shell会话中, selectedAccount 将是您的默认配置文件。您现在可以运行sls deploy
,它将部署到 selectedAccount