在Azure DevOps服务器上配置生成定义时,可以配置连续集成(CI)生成。每次签入或提交到源代码库时都会自动运行一个CI构建。这种机制允许开发人员启动一个自动化的过程,例如编译和部署构建。这是一个非常有用的过程,应该以上述方式进行许多自动话的处理,例如代码扫描、单元测试等。但是,有时开发人员根本不希望签入触发生成,或者说代码或文件的变更不需要触发自动构建流程。

例如,在更新markdown文件或其他与文档相关的文件时,避免触发生成是非常有意义的;或者您可能只是更新了图片和其他一些非代码类型的文本,这根本不会影响生成过程的结果。通常,它们应该存储为不同于源代码的单独目录,然后您可以使用基于路径的过滤器。但是,如果我们的文件结构,从开始就没有按照这种目录创建,那么我们如何来避免这些文件触发自动构建呢?

Azure DevOps (TFS)的Git代码提交机制为我们提供了一个有趣的方法。你可以在提交代码时候,在注释中的后面添加一个特殊的字符“***NO_CI***”。在Azure DevOps的代码管理机制中,这个字符向服务器发出信号,表明您不想运行CI构建。

图一:在提交注释中标记“***NO_CI***”

图二:即使CI流程中配置了持续集成,上图中的提交也不

在这种情况下,由于我们在主分支上设置了触发器,并且现在正在使用包含***no_ci***标志的最后一条提交消息向主分支推送,所以推送更改后不会触发任何生成。

因为提交是Git历史的一部分,所以您总是可以追溯到为什么某个更改没有触发一个构建。

微软DevOps MVP 张洪君 http://www.cnblogs.com/danzhang

--End--

在推送提交之后阻止Azure DevOps (TFS)持续集成的更多相关文章

  1. 通过 Azure Pipelines 实现持续集成之docker容器化及自动化部署

    通过 Azure Pipelines 实现持续集成之docker容器化及自动化部署 Intro Azure DevOps Pipeline 现在对于公开的项目完全免费,这对于开源项目来讲无疑是个巨大的 ...

  2. Visual Studio无法推送提交到Github的解决方法

    前言 当出现Visual Studio推送变更失败时,卸载系统中所有Git以及Visual Studio 的Git工具再重装即可 前情概要 今天由于要尝试使用RabbitMQ,所以打算先在本地做些小D ...

  3. 推送提交(git push)

    当需要同别人共享某个分支上的工作成果时,就要把它推送到一个具有写权限的远程仓库.你的本地分支并不会自动同步到远程仓库,必须要显式地推送那些你想要与别人共享的分支.这样一来,你可以使用私有分支做一些不想 ...

  4. Azure Devops/Tfs 编译的时候自动修改版本号

    看到阿迪王那边出品了一个基于Azure Devops自增版本号  链接 http://edi.wang/post/2019/3/1/incremental-build-number-for-net-c ...

  5. Azure DevOps (TFS) 与 Office 集成

    Azure DevOps Service 或者Azure DevOps Server 都支持与office工具集成,实现在office中完成工作项的导入导出和批量修改等功能.用户可以使用自己熟悉的of ...

  6. Azure Devops/TFS测试管理(下)

    紧接着 上篇 经过上篇折腾,我们已经有了: ①手工测试的流程规范 ②测试用例的管理 对于开发出身的我,我觉得一个项目上线流程应该主要瓶颈只能是开发本身,因为我认为最复杂过程应该就是开发,而肯定不能是测 ...

  7. DevOps之持续集成Jenkins+Gitlab

    一.什么是DevOps DevOps(英文Development(开发)和Operations(技术运营)的组合)是一组过程.方法与系统的统称,DevOps是一组最佳实践强调(开发.运维.测试)在应用 ...

  8. DevOps - CI - 持续集成(Continuous Integration)

    初见 持续集成是什么? 持续集成基础概念介绍 持续集成服务器与工具集 了解 敏捷开发中的持续集成 使用Jenkins进行持续集成 案例 gitlab+gerrit+jenkins持续集成框架 使用Ge ...

  9. DevOps之持续集成SonarQube代码质量扫描

    一.SonarQube介绍       SonarQube是一个用于代码质量检测管理的开放平台,可以集成不同的检测工具,代码分析工具,以及持续集成工具.SonarQube 并不是简单地把不同的代码检查 ...

随机推荐

  1. 如何使用AE来制作烟雾粒子特效

    ​ 1. 首先,我们先建立一个合成,大小1280×720,帧速率25,持续时间为10秒,建好后,再新建一个固态层点击确定. 2.点击效果添加Particular粒子插件 3. 点开粒子插件的发射器,方 ...

  2. MySQL自带的4个数据库

    安装完 MySQL 后会发现有四个自带的数据库: information_schema -- 该数据库保存了 MySQL 服务器所有数据库的信息.比如数据库的名称.数据库中的表名称.访问权限.数据库中 ...

  3. Spring Environment(二)源码分析

    Spring Environment(二)源码分析 Spring 系列目录(https://www.cnblogs.com/binarylei/p/10198698.html) Spring Envi ...

  4. Python中的实例方法、类方法、静态方法和普通方法

    为了辨析它们的差别,写了如下代码: class C: def self_method(self, a): return a @classmethod def class_method(cls, a): ...

  5. stm8 单线串口能收不能发

    原因是把连接的TX和RX短接了,其实在TX和RX间要串一个电阻,然后让stm8的单线TX接到RX.

  6. 关于上级机构的冲突性测试bug修复

    描述: 1.上级机构可以为空. 2.机构添加时,选择了上级机构,在未提交前,另一用户将该机构删除,然后前一用户再提交表单,提示会保存成功,本操作应该保存失败. 思路:在上级机构不为空时,保存前进行查询 ...

  7. springboot深入学习(三)-----docker

    一.spring data思路 spring data使用统一的api来对各种数据库存储技术进行数据访问操作提供了支持,包括oracle.mysql.redis.mongoDB等等.主要是通过spri ...

  8. 常用API接口

    引用  常用API接口汇总

  9. 关于memcached

    代振军 http://www.cnblogs.com/daizhj/archive/2009/03/23/1386652.html http://www.cnblogs.com/daizhj/arch ...

  10. POJ3046--Ant Counting(动态规划)

    Bessie was poking around the ant hill one day watching the ants march to and fro while gathering foo ...