Continuous integration CircleCI作业批准不';我不能执行这项工作
我在CircleCI配置中设置了以下工作流:Continuous integration CircleCI作业批准不';我不能执行这项工作,continuous-integration,circleci,Continuous Integration,Circleci,我在CircleCI配置中设置了以下工作流: // <<< definition of unit_tests, integration_tests and deploy jobs >>> workflows: version: 2 build-test-and-deploy: jobs: - unit_tests - integration_tests: requires:
// <<< definition of unit_tests, integration_tests and deploy jobs >>>
workflows:
version: 2
build-test-and-deploy:
jobs:
- unit_tests
- integration_tests:
requires:
- unit_tests
- build_images:
requires:
- integration_tests
filters:
branches:
only:
- production
- deploy:
type: approval
requires:
- build_images
filters:
branches:
only:
- production
/>
工作流程:
版本:2
构建、测试和部署:
工作:
-单元测试
-集成测试:
要求:
-单元测试
-构建图像:
要求:
-集成测试
过滤器:
分支机构:
仅:
-生产
-部署:
类型:批准
要求:
-建立你的形象
过滤器:
分支机构:
仅:
-生产
目标是在手动批准部署到生产之前停止工作流执行。启动工作流执行时,它会在部署作业之前正确停止,但在UI中单击“批准”后,不会启动部署作业,工作流将以成功结束
您知道有什么问题吗?CircleCI文档说明了此类设置必须满足的几个要求:
是一种特殊的作业类型,仅适用于审批
键下的作业工作流
作业必须是一个唯一的名称,任何其他作业都不能使用该名称hold
- 要保留的作业的名称是任意的-它可以是
或等待
,例如,只要作业中有暂停
键即可在手动批准的作业之后运行的所有作业必须类型:批准
该作业的名称。请参阅上例中的要求:
deploy:job
- 作业按照定义的顺序运行,直到工作流处理带有
键的作业,然后是它所依赖的作业type:approval
// <<< definition of unit_tests, integration_tests and deploy jobs >>>
workflows:
version: 2
build-test-and-deploy:
jobs:
- unit_tests
- integration_tests:
requires:
- unit_tests
- build_images:
requires:
- integration_tests
filters:
branches:
only:
- production
- hold:
type: approval
requires:
- build_images
filters:
branches:
only:
- production
- deploy:
requires:
- hold
filters:
branches:
only:
- production
/>
工作流程:
版本:2
构建、测试和部署:
工作:
-单元测试
-集成测试:
要求:
-单元测试
-构建图像:
要求:
-集成测试
过滤器:
分支机构:
仅:
-生产
-持有:
类型:批准
要求:
-建立你的形象
过滤器:
分支机构:
仅:
-生产
-部署:
要求:
-持有
过滤器:
分支机构:
仅:
-生产
主要的一点是作业必须按顺序配置(
deploy
job需要halt
job才能完成)。这对我来说也是一个主要的困惑点:无论出于什么原因,你都不能只将type:approval
添加到需要批准的作业中,但是您需要创建另一个带有type:approval
的空白作业,并需要该作业!谢谢你把它清理干净