有没有一种方法可以根据环境变量跳过travis ci中的阶段

时间:2020-10-13 14:02:12

标签: travis-ci

我们正在使用阶段来并行部署和运行我们各种不同的回归测试。是否有一种方法可以根据travis作业启动时可用的环境变量跳过阶段中的某些脚本。

我阅读了travis-ci文档和SO问题,这是我能想到的最好的方法。这是我们当前设置的摘要。

jobs:
  include:
  - stage: Setup
    script:
      - reset_db
      - reset_es_index
    name: Setting up Environment
    if: type IN (push, api)

  - stage: Tests
    script:
      - run_fast
    name: Fast tests
    if: type IN (push, api)
    allow_failure: true

  - script:
      - run_api_tests
    name: Api tests
    if: type = api AND env(TRIGGER_REPO) != com_ui_project

  - script:
      - run_slow_tests
    name: Slow tests
    if: type = api AND env(TRIGGER_REPO) != com_ui_project

您可以看到,仅当travis作业由API调用触发且自定义环境变量不是{{1}时,我才想在Test阶段运行Api testsSlow tests脚本}}。否则,请运行com_ui_project脚本并跳过其他脚本。

现在,如果travis是由api调用触发的,则阶段Fast tests中的所有脚本都将运行。我该如何避免呢?

我也尝试了以下方法 Tests $TRIGGER_REPO != com_ui_project env(TRIGGER_REPO) != "com_ui_project"(认为使用shell格式化可能会有所帮助。没有帮助)

0 个答案:

没有答案