问题:
- gitlab的yml中job的执行条件如何定义?
- 可以有没有stage的job吗?
结果:
- gitlab的yml中job的执行条件如何定义?
only and except
only和except两个参数说明了job什么时候将会被创建:
参考:only和except两个参数说明了job什么时候将会被创建:
- only定义了job需要执行的所在分支或者标签
- except定义了job不会执行的所在分支或者标签 [note:检索 popexizhi]
- only和except如果都存在在一个job声明中,则所需引用将会被only和except所定义的分支过滤.
- only和except允许使用正则
- only和except允许使用指定仓库地址,但是不forks仓库
-
job将会只在issue-开头的refs下执行,反之则其他所有分支被跳过:
job: # use regexp only: - /^issue-.*$/ #[popexizhi: 这里对commit 的message直接过滤,看来是很可以有获得commit的file方式的] # use special keyword except: - branches
-
job只会在打了tag的分支,或者被api所触发,或者每日构建任务上运行,
job: # use special keywords only: - tags # tag 分支 commit 之后触发 - triggers # API 触发 [note:检索 popexizhi] - schedules # 每日构建触发
[note:检索 popexizhi] -
job将会在父仓库gitlab-org/gitlab-ce的非master分支有提交时运行。
job: only: - branches@gitlab-org/gitlab-ce [note:检索 popexizhi] except: - master@gitlab-org/gitlab-ce [note:检索 popexizhi]
https://www.jianshu.com/p/3c0cbb6c2936
2.可以有没有stage的job吗?
当前测试结果是不可以,如果使用如下方式:
1 stages:
2 - deploy
3 - test
4 # - reporting
5 #生成测试报告-jenkins test
6 executing-test:
7 stage: reporting
8 only:
9 - /^-all reporting.*$/
10 # use special keyword
11 except:
12 - branches
13 script:
15 - bash start_detect_test 12221 test174
16 #运行commit的单元测试
17 unittest:
18 stage: test
19 script:
20 # get commit dir,running dir python *_test.py
21 "bash test_for_unittest.sh"
~
push 到gitlab提示fail格式如下:
没有评论:
发表评论