我有一个简单的舞台配置
env:
global:
- BUILD_TYPE=demo
- EXECUTABLE=false
if: env(EXECUTABLE) = false
jobs:
include:
- stage: stage_exec_1
if: env(BUILD_TYPE) IN (demo, production)
- stage: stage_exec_2
if: sender = lapots
- stage: stage_not_exec
if: (NOT branch = master)
但是阶段stage_exec_1
没有被执行。我的BUILD_TYPE
变量设置为demo
,因此它应该执行stage_exec_1
。但它并没有发生。
问题是什么?
答案 0 :(得分:0)
if:
和jobs:
都不是.travis.yml
中的有效值,因此它们只是被丢弃。特拉维斯非常自由地默默地放弃它不知道该怎么做的东西。在env:
中指定行为很好,但是将逻辑移到script:
块并在那里执行if语句,甚至从.travis.yml
调用的脚本执行。
https://docs.travis-ci.com/user/customizing-the-build/#Implementing-Complex-Build-Steps