如何在Gitlab CI 5.4+上执行特定分支/标记的作业?

时间:2015-01-19 14:18:13

标签: git gitlab-ci

Gitlab CI github.com repo上的最新CHANGELOG表示

  
      
  • 作业可以是分支特定的,也可以是特定于标签的,或者两者都是
  •   

有没人试过这个功能?我将如何为特定分支进行构建?我没有看到任何明显的选择。

Here is a screenshot新的作业页面视图。

  • 触发器选项可让您选择构建提交,标记或两者。
  • AFAIK,根据帮助消息,标记输入用于确定哪个 Runner (或组或它们)应该运行此作业,因为您可以关联任意标签与他们。这些是而不是git标签。我对么?无论如何,这是相当令人困惑的。

那么,我在哪里可以为任何特定工作配置分支/标签名称?

在我的场景中,我想要实现的目标如下:

  • 推送到master应运行测试,执行发布并部署到类似生产的服务器。
  • 从任何功能分支到master的合并请求,应该只运行测试和报告覆盖率。

2 个答案:

答案 0 :(得分:3)

在GitLab CI 5.2中,您可以添加类似

的条件
if [ "$CI_BUILD_REF_NAME" == "master" ]; then
   //run jobs specific to master branch
fi

if [ "$CI_BUILD_REF_NAME" != "master" ]; then
   // skip if not on master branch
    exit 0
fi

答案 1 :(得分:3)

您可以通过指定only:gilab-ci.yml属性下的分支来执行此操作:

production:
  script:
    - echo 'hello world'
  only:
    - master

有关其他示例,请参阅here