circleci 2.0找不到awscli

Duc*_*Kim 3 amazon-web-services circleci aws-cli

我正在使用circleCI 2.0,他们无法找到aws,但他们的文档清楚地说aws是默认安装的

当我使用这个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
Run Code Online (Sandbox Code Playgroud)

发生以下错误:

/bin/bash: aws: command not found
Exited with code 127
Run Code Online (Sandbox Code Playgroud)

所以,如果我这样编辑代码

    - deploy:
        command: |
          apt-get install awscli
          aws s3 sync ~/rian s3://rian-s3-dev/ --delete
Run Code Online (Sandbox Code Playgroud)

然后我得到另一种错误:

Reading package lists... Done


Building dependency tree       


Reading state information... Done

E: Unable to locate package awscli
Exited with code 100
Run Code Online (Sandbox Code Playgroud)

谁知道如何解决这个???

min*_*oyo 7

您正在阅读的文档适用于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
Run Code Online (Sandbox Code Playgroud)

但是,要充分利用Docker的优势,建议您构建包含必要依赖项(如aws命令)的自定义Docker镜像.