如何使用 circleci orb

How to use a circleci orb

我是 circleci 的新手,所以不知道如何使用 orb。找不到很好的示例文档。有问题的球体是这个 https://circleci.com/developer/orbs/orb/ganezasan/auto-cancel-workflow

想法是circleci应该能够取消其他测试失败的josb。我没有重新发明轮子,而是找到了这个球体,但找不到示例 config.yml 文件。

如何在我现有的 config.yml 文件中使用这个球体?

您链接的 orb 页面提供了一个用法示例:

jobs:
  failed-job:
    docker:
      - image: 'cimg/base:stable'
    steps:
      - run: sleep 30 && exit 1
  success-job-1:
    docker:
      - image: 'cimg/base:stable'
    steps:
      - run: sleep 60
  success-job-2:
    docker:
      - image: 'cimg/base:stable'
    steps:
      - run: sleep 60
orbs:
  auto-cancel: ganezasan/auto-cancel-workflow@0.0.7
version: 2.1
workflows:
  cancel-workflow:
    jobs:
      - success-job-1
      - success-job-2
      - failed-job
      - auto-cancel/auto-cancel:
          api_token: CIRCLE_TOKEN
          interval_seconds: 10

但基本上。您需要使用此代码块

将球体添加到您的 config.yml
orbs:
  auto-cancel: ganezasan/auto-cancel-workflow@0.0.7

然后您需要将此作业添加到您的工作流程中

      - auto-cancel/auto-cancel:
          api_token: CIRCLE_TOKEN
          interval_seconds: 10

然后您需要确保将一个名为 CIRCLE_TOKEN 的环境变量添加到项目中,并将值设置为 CircleCI API 令牌,您可以在用户设置 > 个人 API代币。

但是,与其使用此 orb,不如使用 requires 来查看 运行将您的作业串联起来。在下面的工作流程中,如果 test1 失败,则将跳过 test2 和部署。如果测试 1 成功,测试 2 将 运行。如果 test2 失败,则将跳过部署。

workflows:
  version: 2
  build-test-and-deploy:
    jobs:
      - build
      - test1:
          requires:
            - build
      - test2:
          requires:
            - test1
      - deploy:
          requires:
            - test2