在.gitlab-ci.yml中有三个阶段--构建、测试和部署。
一个夜间回归测试阶段需要运行良好的nightly :)
下面是相关的.gitlab-ci.yml代码:
stages:
- build
- test
- deploy
build_project:
stage: build
script:
- cd ./some-dir
- build-script.sh
except:
- tags
#Run this only when say variable 'NIGHTLY_TEST == True'. But HOW?
nightly_regression_test_project:
stage: test
script:
- cd ./some-dir
- execute test-script每天标记到only运行test阶段是不可取的。
还有别的主意吗?
发布于 2017-08-10 18:32:19
如果有人现在正在寻找这一点,gitlab现在已经实现了一个带有变量覆盖的计划构建功能(非常方便)。文档找到了这里。
对于在给出这个答案时对此特性的说明感兴趣的人,如下所示:
使用管道调度的
为了安排一条管道:
我最喜欢的特性是排定的管道变量。
变量文档可以找到这里,但对我来说最有用的信息是优先级,我将在这里重新键入这些信息:
变量的优先级
变量可以被覆盖,并且它们按照以下顺序优先于其他变量:
希望这能有所帮助。我很高兴他们增加了这个功能。
发布于 2018-06-29 14:17:15
except和only可以指定触发它们的变量。
您可以在..gitlab ci.yml中使用以下内容:
build1:
stage: build
script:
- echo "Only when NIGHTLY_TEST is false"
except:
variables:
- $NIGHTLY_TEST
test1:
stage: test
script:
- echo "Only when NIGHTLY_TEST is true"
only:
variables:
- $NIGHTLY_TEST 发布于 2016-11-10 23:11:56
根据环境变量,目前没有一种运行作业的方法(您可以始终打开一个特性请求!)但是,如果环境变量不存在,可以使用一个简单的Bash命令立即退出。
类似于:
stages:
- build
- test
- deploy
build_project:
stage: build
script:
- cd ./some-dir
- build-script.sh
except:
- tags
# Run this only when NIGHTLY_TEST environment variable exists.
nightly_regression_test_project:
stage: test
script:
- [ -z "$NIGHTLY_TEST" ] && exit 1;
- cd ./some-dir
- execute test-script如果变量不存在,接下来的测试就不会运行。否则他们会的。
希望这能帮上忙!
https://stackoverflow.com/questions/39988497
复制相似问题