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

标签 git gitlab-ci

Gitlab CI 上的最新 CHANGELOG github.com repo指出

  • Job can be branch specific or tag specific or both

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

Here is a screenshot新的工作页面 View 。

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

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

在我的场景中,我想要实现的是:

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

最佳答案

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

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

另一个例子,参见here .

关于git - 如何在 Gitlab CI 5.4+ 上执行特定分支/标签的作业?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28026682/

相关文章:

git 只推送一个文件到 Heroku

git - 在另一个 git 命令中使用 git 命令

android - 将 Android(或 Gradle)与 Gitlab-CI 集成

docker - 使用 Docker Centos 7.5 镜像运行 GitLab CI 管道时,ChromeHeadless 超时

git - 如何永久防止文件的特定部分在 git 中提交?

git - WebStorm/PhpStorm + Git 集成 : "Same" vs "Latest" repository version

Gitlab CI : Cannot find output of build stage

security - 用 gitlab 卑鄙地打嗝

git rebase 交互式 : squash merge commits together

git - 如何在 Gitlab CI 中获取 Gitlab merge 请求描述?