Могу ли я создать образ Docker в CircleCI и сразу использовать его на этапе сборки? - PullRequest
0 голосов
/ 29 марта 2020

Я хотел бы создать изображение, а затем использовать его для тестирования. Я попробовал следующее, но изображение волшебным образом не передается (да и не ожидал).

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: ...

Затем я попытался выполнить следующее, что работает, но требует pu * 1012. * to 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 реестр?

Примечание: я могу выполнить все это за одно задание, но тогда я теряю возможность распараллеливания.

...