仅当除 master 之外的所有分支都有推送的 TAG 时,Gitlab 才会触发 Pipeline

2024-06-24

我的 YAML 文件必须如何配置,以便仅在推送标签时触发一种情况(作业:构建)的管道。该标签可能位于除 master 之外的所有分支中。对于主案例,我有一个单独的工作(build_master)。

yaml 文件: 问题:如果主分支获得标签,管道将通过“构建”运行。这不应该发生。什么都不应该发生

before_script:

  - xcopy /y /s "C:/stuff" "%CI_PROJECT_DIR%"


stages:
  - build
  - deploy





build:
  stage: build
  script:
  - build.cmd
  artifacts:
    expire_in: 1 week
    name: "%CI_COMMIT_REF_NAME%"
    paths:
      - "%CI_COMMIT_REF_NAME%"
  only:
  - tags
  except:
  - master


build_master:
  stage: build
  script:
  - buildm.cmd
  artifacts:
    expire_in: 1 week
    name: "%CI_COMMIT_REF_NAME%"
    paths:
      - "%CI_COMMIT_REF_NAME%"
  only:
  - master

deploy:
 stage: deploy
 script:
 - ./upload.cmd
 dependencies:
 - build_master
 only:
 - master

这不是一个错误,这是一个功能。

在 Git 中,我们不在分支上创建标签。这就是为什么这不起作用。标签是对提交/SHA 的引用,并且提交/SHA 可以存在于多个分支上

gitlab/问题/31305 https://gitlab.com/gitlab-org/gitlab-ce/issues/31305

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

仅当除 master 之外的所有分支都有推送的 TAG 时,Gitlab 才会触发 Pipeline 的相关文章

  • git checkout 裸露,并在接收后包含子模块

    如何在包含子模块的接收后挂钩中检出服务器上的裸存储库 我目前将其作为接收后挂钩 bin bash http blog ekynoxe com 2011 10 22 git post receive for multiple remote b
  • github 网络图查看器的替代品? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 当我单击 github 上的 forks 按钮时 我想获得一个摘要 这就是我使用网络图查看器获得的结果 但它并不完全理想 我会做什么ide
  • 空提交的 Git 补丁

    我创建一个空提交 git commit allow empty m something important 有时它很有用 例如协调 2 个 或更多 不同的 git 树 然而 当我 git format patch 空提交被省略 因为它们不与
  • 如何在git中定义ESC字符?

    我想在 git 输出中使用着色 例如 git log decorate color 当我发出这个命令时 我得到的输出看起来像ESC 1 32m where ESC是反色的 在我看来 这是一个有效的转义序列 除了 033必须发送而不是字符E
  • 更快的“git rebase --preserve-merges”方法

    我通过创建一系列功能分支来使用 git 并在完成后将它们合并到 mastergit merge no ff 这会创建空的合并提交 可用于识别先前功能分支的起点和终点 为了处理多个并发分支 甚至嵌套分支 我使用 rebase 我从不合并回去
  • 如何从旧提交创建新的 Git 分支? [复制]

    这个问题在这里已经有答案了 可能重复 最近 不太明确的问题 使用 Git 从先前的提交分支 http stackoverflow com questions 2816715 branch from a previous commit usi
  • Egit 拒绝接受 id_rsa

    我是第一次尝试在 Eclipse 中设置 egit 的 git 用户 这样我就可以继续通过 Eclipse 轻松编码 问题是 每次我尝试通过 egit 克隆存储库时 都会出现错误 无法列出可用分支 原因 ssh 电子邮件受保护 cdn cg
  • 从子文件夹自动部署 Heroku

    我知道你可以从github自动部署到heroku 但我还没有找到一种方法只将子文件夹从github推送到heroku 从命令行我知道可以通过以下方式执行此操作 git subtree push prefix
  • 如何在cygwin下更改git中文件的大小写?

    我们在区分大小写 不敏感的混合环境 cywgin linux 中工作 今天有人通过重命名文件 将 S 更改为 s 对我们的工作流程造成了小破坏 这导致了各种有趣的跨分支合并问题 而且说实话 没有人完全确定发生了什么 在 cygwin 的 g
  • 使用 git 同时维护不同版本的代码

    我有一个需要优化的代码 我想同时维护一组版本的代码 每个版本可以描述为一些功能 优化的组合 最终 我将决定哪个版本是最好的 我不想将这些版本合并为更少的版本 但是 我希望能够对 大 源文件进行 小 修改 这可能会跨版本转移 并且我希望这一修
  • 运行 npm install - 如何配置不使用 SSH(端口被防火墙阻止)

    当我跑步时npm install大多数模块配置正确 然而 至少有人想击中ssh 拉取模块的地址 不幸的是 我的公司有一项政策 不允许内部网络之外的 SSH 连接 我收到的具体错误是 Error while executing npm ERR
  • git pull 保留本地未提交的更改

    即使存在上游更改 如何安全地更新 拉取 git 项目 保持特定文件不变 myrepo config config php 有没有一种方法 即使这个文件在远程被更改 当我 git pull 时 其他所有内容都被更新 但这个文件没有改变 甚至没
  • 查看单个文件历史记录的“x”提交的完整文件差异(托管在 git 中)

    假设我在 git 中有一个名为filex code 我想看看完整代码最后的x该文件的版本每个更改的部分都突出显示 全部集中在一处 所以一个x 窗格提交历史记录filex code 几乎就像我在做一个x paned diff 但查看历史版本而
  • 通过标记现有提交来触发 Jenkins 管道

    描述 我设置了 Jenkins 2 126 以便在推送新标签时构建管道 具体来说 我想将现有提交标记为master as release 3并让它触发构建 根据多个消息来源 我想要的是可能的 https mohamicorp atlassi
  • git filter-branch - 放弃对一系列提交中的一组文件的更改

    说我有一个分支dev我想要discard所做的所有更改到一组文件在提交的愤怒中dev分支 因为它偏离了master 如果提交在此范围内只触及那些文件我喜欢把它修剪一下 我得到的最接近的是 git checkout dev git filte
  • git svn - cygwin下的错误

    我有 cygwin 和 git 我正在尝试使用 git 提交到 svn git svn dcommit 但它失败并出现奇怪的错误 git svn dcommit 4 main perl 5536 C cygwin bin perl exe
  • 仅针对某些文件的缩进配置

    我想用 git config core whitespace tab in indent tabwidth 4 我希望对 C 文件进行这些设置 以便在使用 git diff 时出现错误缩进时收到警告 但是 我还有需要选项卡的 Makefil
  • git 策略将一组提交限制在特定分支

    我需要经常在 dev 和 master 之间进行合并 我还有一个提交 我只需要应用于开发人员 以便在本地工作 早些时候 我只从 dev 合并到 master 所以我有一个分支 production changes 其中包含 dev 特殊提交
  • Gitlab CI - 如果缓存存在,如何跳过作业

    我有一个setup我的 CI 中的作业安装了所有 npm 包并将它们存储在缓存中 setup stage pre build cache untracked true when on success key files repo hash
  • 构建、部署、配置和回滚所需的 Jenkins 指南,保留 5 个版本

    我对詹金斯很陌生 有一定的了解 但需要进一步的指导 我在 Git 存储库上有一个 PHP 应用程序 它使用 Composer 具有资产 具有用户上传的媒体文件 使用 Memcache Redis 具有一些代理 工作人员 并且具有迁移文件 到

随机推荐

  • 通过 PHP 邮件功能发送电子邮件不适用于长电子邮件

    我正在尝试使用 php 邮件功能从我的网站发送电子邮件 网站上的用户以 html 形式输入电子邮件 我已经测试了邮件功能 当电子邮件文本较小时它可以工作 例如 this is an email 然而 当我输入一封很长的电子邮件时 mail
  • 如何在 SSRS 中将文本框设置为多行?

    我有一份包含许多字段的报告 我试图将其水平缩小到 1 页 我不在乎它是 2 页还是 200 页垂直 只是不想处理 2 页宽 x长达几页的火车残骸 也就是说 它处理联系信息 我的想法是这样做 Name Address City State J
  • Django:resolve(request.path).app_name不返回应用程序名称

    我正在尝试从视图或模板访问当前应用程序名称 在其他答案中如何在 django 中使用 python 获取应用程序名称 https stackoverflow com questions 6000205 how to get an app n
  • 按顺时针顺序对四个点排序

    数组中的四个 2D 点 我需要按顺时针顺序对它们进行排序 我认为只需一次交换操作就可以完成 但我还没有能够正式放下这一点 编辑 在我的例子中 这四个点是凸多边形 编辑 这四个点是凸多边形的顶点 它们不必按顺序排列 如果你想从更数学的角度来看
  • 使用 REST 或 Web 服务上传/下载文件

    是否可以使用 REST 或任何其他 Web 服务上传 下载文件并发送 HTML 代码 这必须可以使用 PHP Java 或 ASP I think this http www mkyong com webservices jax rs fi
  • 如何在一次 API 调用中获取大照片 URL?

    我想立即在 Facebook 应用程序的提要视图中显示大照片 是否可以使用一个 API 调用从流 提要中获取大照片 src URL 照片 ID 在流 提要中返回 当然可以在额外的 FQL 或图形 API 调用中提供该照片 ID 以检索有关该
  • 在winforms中用HttpWebRequest传递cookie?

    请看下面的代码 objCookieContainer new CookieContainer HttpWebRequest request HttpWebRequest WebRequest Create http website com
  • 我应该使用 std::shared 指针来传递指针吗?

    假设我有一个由一个对象管理的对象std unique ptr 我的代码的其他部分需要访问这个对象 传递指针的正确解决方案是什么 我应该直接传递普通指针吗std unique ptr get或者我应该使用并通过std shared ptr而不
  • 为什么 Service Worker 无法在 Chrome 中工作?

    我是网络开发新手 如果我不清楚我的问题 很抱歉 我正在尝试制作 PWA 目前正在测试我的清单和 Service Worker 是否正常工作 在我的项目中 我有一个 index html 文件 它调用文件 app js 我尝试在其中注册名为
  • 什么时候应该在 C 中使用 free() ?

    该代码按预期工作 尽管它从未释放由malloc 我尝试在任何可以的地方释放内存 但无论我在哪里这样做 它都会破坏程序 具体来说 我收到 双重释放或损坏错误 这更多的是一个关于什么的问题free and malloc 实际上呢 免费的所有问题
  • Spring Boot:如何指定PasswordEncoder?

    目前我得到了主要课程 package com recweb springboot import org springframework boot SpringApplication import org springframework bo
  • iphone MPMoviePlayerViewController CGContext 错误

    我正在为 iPhone 编写一个应用程序 可以使用它来播放一些电影MPMoviePlayerViewController 到目前为止 我已经让它可以播放电影了 但是它在调试器中抛出了一些错误 这些错误都以CGContext 我绞尽脑汁试图修
  • SwiftUI:如何使用 @Binding 变量实现自定义 init

    我正在制作金钱输入屏幕 我需要实施自定义init根据初始化量设置状态变量 我认为以下方法会起作用 struct AmountView View Binding var amount Double State var includeDecim
  • 没有 jQuery UI 的可拖动 div

    我正在尝试做一个div无需使用 jQuery UI 即可拖动 但是 我坚持使用下面的代码 我知道我应该使用相对于容器的鼠标位置div 其中div将被拖动 并且我应该设置div相对于这些值的偏移量 我就是不知道怎么办 有什么线索吗 这是不起作
  • 为什么 Java 类不能声明为 static?

    我试图找出为什么该类不能创建为静态类 喜欢 public static class Qwert public static void main String args int x 12 while x lt 12 x System out
  • iPhone 版 Twitter 书签如何工作?

    Twitter 客户端 以前称为 Tweetie 允许您在 Safari 中定义启动应用程序的书签 我想知道哪个 iPhone API 允许您注册协议说明符 或任何名称 在本例中为 tweetie 以便此小书签正常工作 可以找到说明here
  • 如何覆盖全局样式(没有 x:Key),或者将命名样式应用于所有类型目标控件?

    我声明了一个要应用于项目中所有按钮的样式 该样式位于 ResourceDictionary 中 现在 在某个窗口中 我想继承此样式但添加一个值
  • 将多个 JSON 记录读取到 Pandas 数据帧中

    我想知道是否有一种内存有效的方法将多记录 JSON 文件 每行都是一个 JSON 字典 读取到 pandas 数据帧中 下面是一个包含有效解决方案的 2 行示例 我需要它来处理可能非常大量的记录 示例用途是处理 Hadoop Pig Jso
  • mysql 连接器未集成在 Visual Studio 中

    我已经在我的电脑上安装了 mysql 连接器 但是当我启动 Visual Web Developer 2010 时 如果我尝试添加数据库服务器 我无法找到并选择 Mysql 服务器 我只有 Sql 服务器 oracle 和 odbc 驱动程
  • 仅当除 master 之外的所有分支都有推送的 TAG 时,Gitlab 才会触发 Pipeline

    我的 YAML 文件必须如何配置 以便仅在推送标签时触发一种情况 作业 构建 的管道 该标签可能位于除 master 之外的所有分支中 对于主案例 我有一个单独的工作 build master yaml 文件 问题 如果主分支获得标签 管道