我可以在CircleCI中构建Docker映像并在构建步骤中立即使用它吗?

时间:2020-03-29 02:48:47

标签: circleci circleci-2.0

我想构建一个图像,然后将其用于测试。我已经尝试了以下方法,但是图像并没有被神奇地转移(也不是,我确实希望如此)。

jobs:
  build-image:
    machine:
      docker_layer_caching: true
    steps:
      - checkout
      - run:
          name: Build temp image
          command: |
            docker build . -t myapp:circle-build-$CIRCLE_SHA1

  test-against-staging:
    docker:
      - image: myapp:circle-build-$CIRCLE_SHA1
    environment:
      CIRCLE_TEST_RESULTS: $HOME/test-results
    steps:
      - run:
          name: Run automated tests
          command: ...

然后,我尝试了以下方法,该方法可以运行,但是在每个构建版本上都需要推送到AWS:

jobs:
  build-image:
    docker:
      - image: circleci/python
    steps:
      - setup_remote_docker: ...
      - aws-ecr/build-and-push-image:
          repo: ascent_qa_automation
          tag: "circle-build-${CIRCLE_WORKFLOW_ID}"

  test-against-staging:
    docker:
      - image: $AWS_ECR_ACCOUNT_URL/ascent_qa_automation:circle-build-$CIRCLE_WORKFLOW_ID
      ...

我的问题:是否可以构建映像,然后在同一工作流中的单独作业中使用它,而无需通过外部Docker注册表?

注意:我可以将全部工作全部完成一项工作,但是后来我失去了进行并行化的机会。

0 个答案:

没有答案