在推送提交之后阻止Azure DevOps (TFS)持续集成

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

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

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

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

image

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

image

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

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


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

--End--

posted on 2019-03-05 13:53  danzhang  阅读(805)  评论(0编辑  收藏  举报

导航