最后几天努力从 CircleCI 1.0 迁移到 2.0,虽然构建过程完成,但部署仍然是一个大问题。CircleCI 文档并没有太大帮助。
这与config.yml
我所拥有的类似:
version 2
jobs:
build:
docker:
- image: circleci/node:8.9.1
steps:
- checkout
- setup_remote_docker
- run
name: Install required stuff
command: [...]
- run:
name: Build
command: docker build -t project .
deploy:
docker:
- image: circleci/node:8.9.1
steps:
- checkout
- run:
name: Deploy
command: |
bash scripts/deploy/deploy.sh
docker tag project [...]
docker push [...]
workflows:
version: 2
build-deploy:
jobs:
- build
- deploy:
requires:
- build
filters:
branches:
only: develop
问题在于deploy
工作。我必须指定这docker: -image
一点,但我想从build
已经安装了所有必需的东西的作业中重用环境。当然,我可以将它们安装在deploy
工作中,但是拥有多个deploy
工作会导致代码重复,这是我不想要的。