2015-03-18 37 views
6

Circle CI'den bir Docker uygulamasını Elastic Beanstalk'e dağıtmaya çalışıyorum.AWS CLI araçları: configure: unknown komutu

benim circle.yml dağıtım bölümü

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 

ve benim deploy.sh

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 

aşağıdaki aws cli olarak aramalar Ama hatayı

olsun - sürüm: yanlış yazılmış meta parametresi?

Akıl sağlığı kontrolü: "/root/.awssecret": dosya eksik. (Biçim: AccessKeyID \ nSecretAccessKey n \)

yapılandırmak: bilinmeyen komut Kullanımı: aws EYLEM [--help]

senaryo aynı anahtarını ve sırrını kullanarak mac os üzerinde yerel olarak tamamen iyi çalışır. awscli arasında (Çember ve benim mac)

Her iki sürüm ben CircleCI gelen Kevin olduğum 1.7.14

cevap

7

bulunmaktadır. Buradaki sorun, Python bağımlılıklarını kurduğunuzda, CircleCI'nin bunları bir virtualenv'e yüklediğiyle ilgilidir. Bu genellikle python ortamınızı varsayılan sistem Python'dan ayırıp bağımlılık önbelleklememizi desteklediği için harika bir şeydir. Buradaki problem, sanal ortam ortamını izleyen ve varsayılan sistem sürümünü çalıştıran (bu durumda aslında daha eski bir alternatif AWS CLI olan) sudo ile deploy.sh komut dosyasını çalıştırıyor olmanızdır. Sudo'nun düşmesi sizin için bir şeyler düzeltmeli. (Daha sonra önbelleğe alınacağı için "bağımlılıklar" aşamasında pip install awscli==x.x.x'u çalıştırmanız daha iyi olur.)

Not: Genel sorulara zamanında yanıt vermek için lütfen [email protected] adresinden iletişime geçin.