在 CircleCI 工作流中添加必需步骤导致作业停在 “created” 状态的问题

45次阅读
没有评论

问题描述

在使用 CircleCI 的工作流时遇到了一个问题。他在工作流中添加了一个必需步骤,但是当提交到特定分支时,工作流仍然停留在 “created” 状态,并没有继续执行。以下是他的工作流配置和问题的具体描述。

工作流配置如下:

workflows:
  version: 2
  build_deploy_test:
    jobs:
      - build:
          filters:
            branches:
              only:
                - develop
      - christest:
          requires:
            - install
          filters:
            branches:
              only: devops-docker-intial

问题描述:
当用户提交到 devops-docker-intial 分支时,工作流只是停留在 “created” 状态,并没有继续执行。用户尝试了多种方法,但问题依然存在。他想知道为什么会出现这个问题以及如何解决。

解决方案

请注意以下操作可能会涉及到 CircleCI 的配置文件,修改前建议备份。

在 CircleCI 的工作流配置中,出现工作流停留在 “created” 状态的问题可能是由于工作流的条件过滤设置不正确造成的。根据用户提供的问题描述和最佳回答,我们可以得出一个解决方案。

步骤1:检查分支过滤条件

工作流的问题可能是由于分支过滤条件不正确导致的。在用户的工作流配置中,他在 christest 步骤的过滤条件中只指定了一个分支,即 devops-docker-intial。然而,他可能忽略了其他分支,导致当不满足过滤条件时工作流无法继续。

步骤2:修正分支过滤条件

要解决这个问题,用户应该将所有相关分支都包含在分支过滤条件中,以确保工作流在满足条件时能够正确执行。以下是修正后的工作流配置示例:

workflows:
  version: 2
  build_deploy_test:
    jobs:
      - build:
          filters:
            branches:
              only:
                - develop
                - devops-docker-intial
      - christest:
          requires:
            - install
          filters:
            branches:
              only: devops-docker-intial

在上面的示例中,我们将 devops-docker-intial 分支添加到了 build 步骤的分支过滤条件中,以确保工作流在该分支上能够继续执行。

步骤3:重新提交并观察工作流

用户可以将修正后的工作流配置提交到版本控制系统中,并观察工作流是否能够顺利执行。通过这个修正,工作流应该能够在满足分支过滤条件时正常运行,不再停留在 “created” 状态。

通过修正分支过滤条件,用户应该能够解决工作流停留在 “created” 状态的问题,使工作流能够按预期执行。

请注意,以上解决方案仅针对用户提供的问题描述和最佳回答所得出的结论。如果在实际操作中仍然遇到问题,可能需要进一步检查配置并排除其他可能性。

正文完