首页 > 解决方案 > 如何确定构建是否是 CircleCI 中的计划作业?

问题描述

我想确定构建是否是构建内部的计划作业。

例如,在 Travis CI 上,我的构建脚本会查找$TRAVIS_EVENT_TYPE环境变量以查看其值是否为cron.

我应该如何在 CircleCI 上做到这一点?

标签: cronscheduled-taskscircleci

解决方案


使用自定义环境变量 (envar)。虽然您不能直接在工作流中设置 envar,但您可以将一个 envar 添加到 CircleCI 上下文,然后将该上下文附加到工作流。envar 名称可以是您想要的任何名称,值可以是您想要的任何值。

一个示例是创建一个名为nightlywhen 的上下文,其中包含一个 envar,然后您可以在作业中检查该上下文。这是一个例子:

  nightly-build:                                                                                                                                                          
    triggers:                                                                                                                                                             
      - schedule:                                                                                                                                                         
          cron: "0 0 * * *"                                                                                                                                               
          filters:                                                                                                                                                        
            branches:                                                                                                                                                     
              only: master
    jobs:
      - build:
          context: nightly

推荐阅读