我想构建一个图像,然后将其用于测试。我已经尝试了以下方法,但是图像并没有被神奇地转移(也不是,我确实希望如此)。
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注册表?
注意:我可以将全部工作全部完成一项工作,但是后来我失去了进行并行化的机会。