3

我正在尝试在 Circle CI 上设置持续部署。

我已经成功运行了我的构建脚本,它在根目录中创建了一个构建文件夹。当我在本地运行命令以与 s3 同步时,它工作正常。但在 Circle CI 中,我无法获取构建文件夹的路径。

我试过 ./build,添加working_directory: ~/circleci-docs部署作业,并在测试运行中打印工作目录,即/home/circleci/project,所以我尝试手动使用/home/circleci/project/build并没有也不行。

这是我的 CircleCI config.yml 文件:


executors:
  node-executor:
    docker:
      - image: circleci/node:10.8
  python-executor:
    docker:
      - image: circleci/python:3.7

jobs:
  build:
    executor: node-executor
    steps:
      - checkout

      - run:
          name: Run build script
          command: |
            curl -o- -L https://yarnpkg.com/install.sh | bash
            yarn install --production=false
            yarn build

  deploy:
    executor: python-executor
    steps:
      - checkout

      - run:
          name: Install awscli
          command: sudo pip install awscli

      - run:
          name: Deploy to S3
          command: aws s3 sync build s3://{MY_BUCKET}

workflows:
  version: 2
  build-deploy:
    jobs:
      - build
      - deploy:
          requires:
            - build

错误消息是:

用户提供的路径构建不存在。

退出代码 255

4

1 回答 1

2

我让它工作了!

在构建作业中,我使用了persist_to_workspace和部署作业attach_workspace(两者都在steps下)

      - persist_to_workspace:
          root: ~/
          paths:
            - project/build

      - attach_workspace:
          at: ~/
于 2019-10-27T03:11:48.407 回答