Jac*_*val 6 amazon-web-services ubuntu-12.04 circleci aws-cli
我正在尝试将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
Run Code Online (Sandbox Code Playgroud)
我的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
Run Code Online (Sandbox Code Playgroud)
但是我得到了错误
--version:错误的元参数?
sanity-check:"/ root /.awssecret":文件丢失.(格式:AccessKeyID \nSecretAccessKey \n)
configure:unknown命令用法:aws ACTION [ - help]
该脚本使用完全相同的密钥和秘密在mac os本地完全正常工作.
awscli的两个版本(在圆圈和我的mac上)都是1.7.14
我是来自CircleCI的凯文.看起来这里的问题与以下事实有关:当您安装Python依赖项时,CircleCI将它们安装到virtualenv中.这通常是一件好事,因为它将您的python环境与默认系统Python隔离开来,并支持我们的依赖项缓存.这里的问题是你deploy.sh
用sudo 运行你的脚本,它破坏了virtualenv环境并运行默认的系统版本(在这种情况下实际上是旧的替代AWS CLI).删除sudo应该为你解决问题.(你也可以pip install awscli==x.x.x
在"依赖"阶段运行,因为它会被缓存.)
PS:请联系sayhi@circleci.com以便及时回答问题.
归档时间: |
|
查看次数: |
3642 次 |
最近记录: |