创建了 build 的配置以后,您既可以手动点击 "Run" 按钮来触发一次 build 过程,也可以通过 Triggers 配置实现自动触发 build 过程。一个 trigger 就是一条规则:当某个事件发生时开始一次 build。TeamCity 内置支持多种触发器类型:

对于同一个 build,我们可以应用多个触发器,它们会按照各自的逻辑独立的起作用。下面我们比较详细的看下各类触发器的用法。

VCS 触发器

VCS 触发器在检测到代码变化后会自动触发 build 过程。TeamCity 会根据您设置的时间间隔去检测代码的变化。如果这段时间中有多个 checkin,仅触发一次 build。

需要注意的是当一个 build 配置有多个 VCS root 时,并不会为每个 VCS root 的变化触发 build,而是在检测过所有的 VCS root 后才决定是否触发一次 build。
您还可以设置每个 checkin 都触发一次 build。这需要选择"Trigger a build on each check-in"。如果您希望同一个提交者的多次提交只触发一次 build,请把"Include seral check-ins in a build if they are from the same committer"也选上。

静默期(Quiet Period)是个比较有趣的概念。设置后便不会在连续的几次 checkin 过程中触发 build (这几次连续的checkin是一个完整的过程)。通俗点讲,当检测到最后一次变更后的一段时间(默认一分钟)内没有发现新的变更才触发一次 build。

VCS 触发器中还有个好玩的东西叫"VCS Trigger Rules"。通过规则的设定,你可以告诉 TeamCity 是否满足触发 build 的条件:

Schedule 触发器

当我们要定时触发 build 时就需要用到 Schedule 触发器。

简单的使用方式就是在 Date and Time 区域选择合适的时间配置就可以了。此外 TeamCity 还支持 cron 格式的时间设置:

这为我们提供了更多的灵活性。

Finish Build 触发器

如果 build 之间有一定的依赖关系,比如后面的 build 依赖前一个 build 的产物,那么就需要在前一个 build 完成时触发下一个 build。Finish build 触发器可以完美的完成这个任务:

只需要选择合适的 build configuration 就可以了。我们还可以根据前一个 build 是否成功来决定是否来触发下一个 build:

Branch Remote Run 触发器

当我们希望在 TeamCity 上 build 某个个人分支时就需要通过某个分支上的变更来触发 build。Branch Remote Run 触发器可以实现这样的功能:

我们可以指定某个用户的分支。注意,这种触发器目前只支持 git 和 mercurial。

TeamCity 还支持一些其他类型的触发器,我们在用到时会进行详细的介绍。

TeamCity : 自动触发 Build的更多相关文章

  1. UWP Jenkins + NuGet + MSBuild 手把手教你做自动UWP Build 和 App store包

    背景 项目上需要做UWP的自动安装包,在以前的公司接触的是TFS来做自动build. 公司要求用Jenkins来做,别笑话我,之前还真不晓得这个东西. 会的同学请看一下指出错误,不会的同学请先自行脑补 ...

  2. Gitlab自动触发Jenkins构建打包

    一.目的 在部门的测试环境中,开发人员一旦向gitlab仓库提交成功代码,gitlab就会自动触发jenkins构建项目.当然在构建后还可以添加项目部署或者自动化测试的脚本.这里只针对测试环境. 二. ...

  3. jenkins+gitlab webhooks 实现自动触发打包

    说明:实现代码在gitlab上的提交后立马自动进行jenkins的job构建 安装插件: Gitlab Hook Plugin  Build Authorization Token Root Plug ...

  4. Gitlab+Jenkins学习之路(十一)之Jenkins自动触发构建和发布

    思路图: 一.下载gitlab plugin jenkins-->系统管理-->管理插件-->下载并安装gitlab plugin 二.配置gitlab认证 路径:Jenkins-- ...

  5. GitLab 自动触发 Jenkins 构建

    GitLab 是当前应用非常广泛的 Git Hosting 工具,Jenkins 是非常牛逼的持续集成工具.尽管 GitLab 有内建的 GitLab CI,但它远没有 Jenkins 那么强大好用. ...

  6. 如何创建一个项目,让gitlab自动触发jenkins进行构建

    前进是:你已经配置好jenkins+gitlab自动化布置了,这里只是常规构建新的项目时,需要做的配置,记录下来,以免忘了又着急 参考这篇博客: https://www.jianshu.com/p/e ...

  7. Jenkins 实现Gitlab事件自动触发Jenkins构建及钉钉消息推送

    实现Gitlab事件自动触发Jenkins构建及钉钉消息推送 实践环境 GitLab Community Edition 12.6.4 Jenkins 2.284 Post build task 1. ...

  8. 原生js自动触发事件

    熟悉jquery的童鞋都知道在jq中有一个方法可以自动触发事件,那就是trigger(),那么通过原生js又怎么模拟触发呢? js中添加一个主动触发事件的方法有dispatch.该方法能模拟用户行为, ...

  9. ionic下拉加载自动触发

    ionic提供的下拉加载,是要滑动去下拉加载,没有提供api自动触发下拉加载,比如刚进页面,或者切换tab时想触发一次下拉加载. 添加如下service: angular.module('YourAp ...

随机推荐

  1. ASP.NET Core应用针对静态文件请求的处理[3]: StaticFileMiddleware中间件如何处理针对文件请求

    我们通过<以Web的形式发布静态文件>和<条件请求与区间请求>中的实例演示,以及上面针对条件请求和区间请求的介绍,从提供的功能和特性的角度对这个名为StaticFileMidd ...

  2. 【原创】免费申请SSL证书【用于HTTPS,即是把网站从HTTP改为HTTPS,加密传输数据,保护敏感数据】

    今天公司有个网站需要改用https访问,所以就用到SSL证书.由于沃通(以前我是在这里申请的)暂停了免费的SSL证书之后,其网站推荐了新的一个网站来申请证书,所以,今天因为刚好又要申请一个证书,所以, ...

  3. SQL Server 2016白皮书

    随着SQL Server 2016正式版发布日临近,相关主要特性通过以下预览学习: Introducing Microsoft SQL Server 2016 e-bookSQL Server 201 ...

  4. 【置顶】CoreCLR系列随笔

    CoreCLR配置系列 在Windows上编译和调试CoreCLR GC探索系列 C++随笔:.NET CoreCLR之GC探索(1) C++随笔:.NET CoreCLR之GC探索(2) C++随笔 ...

  5. input标签中button在iPhone中圆角的问题

    1.问题 使用H5编写微信页面时,使用<input type="button"/>时,在Android手机中显示正常,但是在iPhone手机中则显示不正常,显示为圆角样 ...

  6. Phantomjs+Nodejs+Mysql数据抓取(2.抓取图片)

    概要 这篇博客是在上一篇博客Phantomjs+Nodejs+Mysql数据抓取(1.抓取数据) http://blog.csdn.net/jokerkon/article/details/50868 ...

  7. wordpress优化之结合prism.js为编辑器自定义按钮转化代码

    原文链接 http://ymblog.net/2016/07/24/wordpress-prism/ 继昨天花了一天一夜的时间匆匆写了主题Jiameil3.0之后,心中一直在想着优化加速,体验更好,插 ...

  8. 浅谈java异常[Exception]

    学习Java的同学注意了!!! 学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入Java学习交流群,群号码:589809992 我们一起学Java! 一. 异常的定义 在<java编程思想 ...

  9. A*算法应用[转]

    转自:http://www.cnblogs.com/zhoug2020/p/3468167.html 这是一篇十分精彩/易懂的博客,感谢原博主!本文通过自己的理解在原博文基础上突出一些重点字眼,句子. ...

  10. kvm 使用入门详解

    kvm 是虚拟化技术的一个典型实现,功能非常强大,使用很方便.kvm 本身主要实现对 CPU 的虚拟化,内存和IO的虚拟化使用了开源软件 qemu,qemu 是纯软件层面的虚拟化,其实就是个模拟器.k ...