如何为Gitlab CI 5.4+;上的特定分支/标记执行作业;?
Gitlab CI上最新的如何为Gitlab CI 5.4+;上的特定分支/标记执行作业;?,git,gitlab-ci,Git,Gitlab Ci,Gitlab CI上最新的CHANGELOG声明 作业可以是特定于分支的或特定于标记的,或者两者都可以 有人试过这个功能吗?我将如何着手为特定分支进行构建?我没有看到任何明显的选择 新的作业的页面视图 触发器选项允许您在提交生成、标记或两者之间进行选择 AFAIK,并且根据帮助消息,标记输入用于确定哪个运行者(或组或它们)应该运行此作业,因为您可以将任意标记与它们关联。这些不是git标签。我说得对吗?无论如何,这是相当令人困惑的 那么,在哪里可以为任何特定作业配置分支/标记名称 在我的场
CHANGELOG
声明
- 作业可以是特定于分支的或特定于标记的,或者两者都可以
- 触发器选项允许您在提交生成、标记或两者之间进行选择
- AFAIK,并且根据帮助消息,标记输入用于确定哪个运行者(或组或它们)应该运行此作业,因为您可以将任意标记与它们关联。这些不是git标签。我说得对吗?无论如何,这是相当令人困惑的
- 推送到
应该运行测试、执行发布并部署到类似于生产的服务器master
- 从任何功能分支到
的合并请求应该只运行测试并报告覆盖率master
if [ "$CI_BUILD_REF_NAME" == "master" ]; then
//run jobs specific to master branch
fi
或
您可以通过在
gilab ci.yml
中指定only:
属性下的分支来实现这一点:
production:
script:
- echo 'hello world'
only:
- master
制作:
脚本:
-回声“你好,世界”
仅:
-主人
有关另一个示例,请参见。Ok,这很有用。但是,那我刚才说的
CHANGELOG
行呢?如何将整个作业配置为在单个分支上运行?我必须在每个脚本中编写这些条件吗?而且,您的方法似乎不适用于Gitlab CI 5.4.0。我所有的构建都在第一行结束:if[“$CI_BUILD_REF_NAME”==“master”];然后
,不要继续更新(即使分支确实是主分支):我认为这(^)是由于此版本的CI中存在错误。我在他们的github.com回购网站上看到过。
production:
script:
- echo 'hello world'
only:
- master