如何在AWS CLI中使用变量?

时间:2018-07-12 15:25:05

标签: bash amazon-web-services gitlab-ci

在我的gitlab-ci.yml中,我的脚本如下所示:

staging_deploy:
  stage: deploy
  script:
    - ENVIRONMENT_NAME=$(aws cloudformation list-exports | jq '.Exports[] | select(.Name=="my-EnvironmentName")' | jq '{Value}' | jq '.[]')
    - ENVIRONMENT_ID=$(aws elasticbeanstalk describe-environments --environment-names $ENVIRONMENT_NAME)
    - 'aws elasticbeanstalk rebuild-environment --environment-id $ENVIRONMENT_ID'
    - 'echo "stage deployment complete"'

三个命令在独立执行时都可以正常工作,也就是说,在我执行时

ENVIRONMENT_NAME=$(aws cloudformation list-exports | jq '.Exports[] | select(.Name=="my-EnvironmentName")' | jq '{Value}' | jq '.[]')

并打印出变量:

echo ENVIRONMENT_NAME

我得到了想要的结果。

但是,当我像一开始在脚本中一样将它们全部一起使用时,gitlab-ci中的bash表示:

  

用法:aws [选项] [...]   [参数]要查看帮助文本,可以运行:

     

aws help aws help aws help

     

未知选项:[],},“环境”:错误:作业失败:错误   执行远程命令:命令以非零退出代码终止:   在Docker容器中执行时出错:1

好像aws cli无法识别变量$ENVIRONMENT_NAME$ENVIRONMENT_ID

0 个答案:

没有答案