2017-03-29 78 views
1

我使用circleCI 2.0,他們無法找到AWS但他們documents清楚地說,AWS安裝在默認circleci 2.0找不到awscli

當我使用這個circle.yml

version: 2 
jobs: 
    build: 
    working_directory: ~/rian 
    docker: 
     - image: node:boron 
    steps: 
     - checkout 
     - run: 
      name: Pre-Dependencies 
      command: mkdir ~/rian/artifacts 
     - restore_cache: 
      keys: 
       - rian-{{ .Branch }}-{{ checksum "yarn.lock" }} 
       - rian-{{ .Branch }} 
       - rian-master 
     - run: 
      name: Install Dependencies 
      command: yarn install 
     - run: 
      name: Test 
      command: | 
       node -v 
       yarn run test:ci 
     - save_cache: 
      key: rian-{{ .Branch }}-{{ checksum "yarn.lock" }} 
      paths: 
       - "~/.cache/yarn" 
     - store_artifacts: 
      path: ~/rian/artifacts 
      destination: prefix 
     - store_test_results: 
      path: ~/rian/test-results 
     - deploy: 
      command: aws s3 sync ~/rian s3://rian-s3-dev/ --delete 
發生

以下錯誤:

/bin/bash: aws: command not found 
Exited with code 127 

,所以如果我編輯的代碼,這樣

- deploy: 
     command: | 
      apt-get install awscli 
      aws s3 sync ~/rian s3://rian-s3-dev/ --delete 

然後我得到另一種錯誤的:

Reading package lists... Done 


Building dependency tree  


Reading state information... Done 

E: Unable to locate package awscli 
Exited with code 100 

任何人知道如何解決這個問題???

+0

*「我使用circleCI 2.0,他們無法找到AWS但他們的[文件](https://circleci.com/docs/1.0/build-image-trusty/#awscli)明確地說......「* - 停在那裏,看看網址。您正在使用Circle 2.0,但閱讀了Circle 1.0文檔。 –

回答

5

您正在閱讀的文檔是CircleCI 1.0和2.0是在這裏:

https://circleci.com/docs/2.0/

在CircleCI 2.0,你可以用你喜歡的Docker映像檔。您當前設置的圖像是node:boron,它不包含aws命令。

如果你只是想它現在的工作,你可以安裝AWS命令自己circle.yml

apt-get update && apt-get install -y awscli 

但是,要充分利用碼頭工人的利益,建議您構建一個包含必要的依賴自定義碼頭工人形象,如AWS命令。

0

我在部署到AWS lambda函數並將文件推送到S3存儲桶時遇到此問題。最後解決它,然後構建一個Docker鏡像,以節省每次安裝AWS CLI的時間。這是一個鏈接到圖像和回購!

https://github.com/wilson208/circleci-awscli

https://hub.docker.com/r/wilson208/circleci-awscli/

消防公關,或者如果你需要什麼添加到圖像,我會得到它的時候,我可以打開一個問題。

編輯:

此外,結賬GitHub上的自述部署一個包LAMBDA或推動文件到S3的例子