Circle CI 上的 AWS CLI 工具:配置:未知命令
AWS CLI tools on Circle CI: configure: unknown command
我正在尝试将 docker 应用程序从 Circle CI 部署到 Elastic Beanstalk。
我的circle.yml的部署部分是
deployment:
hub:
branch: [internal, production]
commands:
- pip install awscli
- docker push company/web:$CIRCLE_SHA1
- sudo bash deploy.sh $CIRCLE_SHA1 $CIRCLE_BRANCH $CIRCLE_BUILD_NUM
我的 deploy.sh 调用 aws cli 如下
aws --version
aws configure set aws_access_key_id $AWSKEY
aws configure set aws_secret_access_key $AWSSECRETKEY
aws configure set default.region us-west-2
aws configure set default.output json
echo "SAVING NEW DOCKERRUNFILE: $DOCKERRUN_FILE"
aws s3 cp $DOCKERRUN_FILE s3://$EB_BUCKET/$DOCKERRUN_FILE
但是我得到了错误
--version: mispelled meta parameter?
sanity-check: "/root/.awssecret": file is missing. (Format: AccessKeyID\nSecretAccessKey\n)
configure: unknown command Usage: aws ACTION [--help]
该脚本在 mac os 上使用完全相同的密钥和秘密在本地完全正常工作。
awscli 的两个版本(在 circle 和我的 mac 上)都是 1.7.14
我是 CircleCI 的凯文。看起来这里的问题与以下事实有关:当您安装 Python 依赖项时,CircleCI 会将它们安装到 virtualenv 中。这通常是一件好事,因为它将您的 python 环境与默认系统 Python 隔离开来,并支持我们的依赖缓存。这里的问题是你 运行 你的 deploy.sh
带有 sudo 的脚本,它破坏了 virtualenv 环境并运行默认系统版本(在这种情况下实际上是一个较旧的替代 AWS CLI)。删除 sudo 应该可以为您解决问题。 (你也最好在 "dependencies" 阶段关闭 运行 pip install awscli==x.x.x
,因为它会被缓存。)
PS: 请联系 sayhi@circleci.com 以便及时回复一般问题。
我正在尝试将 docker 应用程序从 Circle CI 部署到 Elastic Beanstalk。
我的circle.yml的部署部分是
deployment:
hub:
branch: [internal, production]
commands:
- pip install awscli
- docker push company/web:$CIRCLE_SHA1
- sudo bash deploy.sh $CIRCLE_SHA1 $CIRCLE_BRANCH $CIRCLE_BUILD_NUM
我的 deploy.sh 调用 aws cli 如下
aws --version
aws configure set aws_access_key_id $AWSKEY
aws configure set aws_secret_access_key $AWSSECRETKEY
aws configure set default.region us-west-2
aws configure set default.output json
echo "SAVING NEW DOCKERRUNFILE: $DOCKERRUN_FILE"
aws s3 cp $DOCKERRUN_FILE s3://$EB_BUCKET/$DOCKERRUN_FILE
但是我得到了错误
--version: mispelled meta parameter?
sanity-check: "/root/.awssecret": file is missing. (Format: AccessKeyID\nSecretAccessKey\n)
configure: unknown command Usage: aws ACTION [--help]
该脚本在 mac os 上使用完全相同的密钥和秘密在本地完全正常工作。
awscli 的两个版本(在 circle 和我的 mac 上)都是 1.7.14
我是 CircleCI 的凯文。看起来这里的问题与以下事实有关:当您安装 Python 依赖项时,CircleCI 会将它们安装到 virtualenv 中。这通常是一件好事,因为它将您的 python 环境与默认系统 Python 隔离开来,并支持我们的依赖缓存。这里的问题是你 运行 你的 deploy.sh
带有 sudo 的脚本,它破坏了 virtualenv 环境并运行默认系统版本(在这种情况下实际上是一个较旧的替代 AWS CLI)。删除 sudo 应该可以为您解决问题。 (你也最好在 "dependencies" 阶段关闭 运行 pip install awscli==x.x.x
,因为它会被缓存。)
PS: 请联系 sayhi@circleci.com 以便及时回复一般问题。