这是一种为测试和部署环境创建引用并随后在 yaml 中添加额外步骤的方法吗?
Is it a way to create references for test and deploy environment and add extra steps afterwards in yaml?
我必须将工作流程纳入管道。我希望我的 test
和 deploy
管道共享相同的步骤,但除此之外,我想在 deploy
管道中添加额外的步骤。
我试图寻找解决方案并遇到了 Whosebug QA。不幸的是,none 的建议奏效了。此外,它们中的大多数为管道构建和维护创造了额外的工作。
config.yml
看起来如下所示:
version: 2.1
do_stuff: &do_stuff
steps:
- checkout
- run:
mvn clean test
- store_artifacts:
path: htmlcov
- store_test_results:
path: test-results
jobs:
build:
docker:
- image: circleci/openjdk:8-jdk
<<: *do_stuff
deployment:
docker:
- image: circleci/openjdk:8-jdk
<<: *do_stuff
steps:
- run:
mvn deploy
workflows:
build-and-test-workflow:
jobs:
- build-and-test
deployment-workflow:
jobs:
- deployment:
requires:
- build-and-test
我的问题是 steps
覆盖了 <<: *do_stuff
参考中的步骤,我找不到可接受的使用参考解决方案。我希望解决方案看起来像这样的原因,mvn deploy
应该严格遵循参考,我不想重复管道。在实际项目中,流水线方式比较复杂。
有什么办法可以绕过 yml
语法的这个限制吗?两者之间,如果有任何区别,我正在使用 pipeline
。
很遗憾,我没有找到上述问题的任何解决方案。
我找到了解决方法,因此 deployment
阶段 require
其他阶段先执行。这意味着可以生成文件、属性等,然后在部署阶段使用它。
它消除了重复部分工作流程的需要。要在 Circle CI
中将文件从一个阶段保存到一个工作流中, 上还有另一个答案。
我必须将工作流程纳入管道。我希望我的 test
和 deploy
管道共享相同的步骤,但除此之外,我想在 deploy
管道中添加额外的步骤。
我试图寻找解决方案并遇到了 Whosebug QA。不幸的是,none 的建议奏效了。此外,它们中的大多数为管道构建和维护创造了额外的工作。
config.yml
看起来如下所示:
version: 2.1
do_stuff: &do_stuff
steps:
- checkout
- run:
mvn clean test
- store_artifacts:
path: htmlcov
- store_test_results:
path: test-results
jobs:
build:
docker:
- image: circleci/openjdk:8-jdk
<<: *do_stuff
deployment:
docker:
- image: circleci/openjdk:8-jdk
<<: *do_stuff
steps:
- run:
mvn deploy
workflows:
build-and-test-workflow:
jobs:
- build-and-test
deployment-workflow:
jobs:
- deployment:
requires:
- build-and-test
我的问题是 steps
覆盖了 <<: *do_stuff
参考中的步骤,我找不到可接受的使用参考解决方案。我希望解决方案看起来像这样的原因,mvn deploy
应该严格遵循参考,我不想重复管道。在实际项目中,流水线方式比较复杂。
有什么办法可以绕过 yml
语法的这个限制吗?两者之间,如果有任何区别,我正在使用 pipeline
。
很遗憾,我没有找到上述问题的任何解决方案。
我找到了解决方法,因此 deployment
阶段 require
其他阶段先执行。这意味着可以生成文件、属性等,然后在部署阶段使用它。
它消除了重复部分工作流程的需要。要在 Circle CI
中将文件从一个阶段保存到一个工作流中,