创建了 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 触发器可以实现这样的功能:

转载于:https://blog.51cto.com/12945177/1948530

TeamCity : 自动触发 Build相关推荐

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

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

  2. GitLab 自动触发 Jenkins 构建

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

  3. CodeReview实践-Gerrit自动触发JenkinsCI

    Gerrit + Jenkins 背景 当前团队使用Gerrit来做代码管理.CodeReview.计划实现当review提交到了Gerrit并且review通过(merged)自动触发Jenkins ...

  4. TeamCity自动部署操作手册

    TeamCity自动部署操作手册 一.安装启动注意事项 1.选择运行账户 2.等待Agent连接 二.创建Project常用步骤 第一步创建 输入项目地址和认证用户信息 认证成功下一步 手动创建构建步 ...

  5. jenkins_windows(五):基于github构建自动触发的任务

    持续集成(CI)的整个流程目标就是实现自动的拉取代码.编译.打包.部署到远程服务器.自动执行测试,自动发送邮件,从而能够排除人的因素,提高测试的效率.本文我们就介绍如果基于github的源码管理库实现 ...

  6. jenkins最完整自动打包编译备份,跨服务器拷贝,git自动触发构建

    jenkins自动构建vue项目(自动打包.备份.上传.跨服务器拷贝.git自动触发构建) 一:环境准备: 首先,在安装jenkins之前,我们要先在linux中必须安装jdk,本次我们使用的是jdk ...

  7. 通过IDoc来实现公司间STO场景中外向交货单过账后自动触发内向交货单的功能 – Part 2

    通过IDoc来实现公司间STO场景中外向交货单过账后自动触发内向交货单的功能 – Part B 6, 入站IDOC的设置 IDoc type – DELVRY01 Message Type – DES ...

  8. 通过IDoc来实现公司间STO场景中外向交货单过账后自动触发内向交货单的功能 - Part I

    通过IDoc来实现公司间STO场景中外向交货单过账后自动触发内向交货单的功能 - Part I 公司间采购(公司间库存转储)流程里,常见的解决方案是发货方完成发货过账后,自动触发收货方的内向交货单.除 ...

  9. SAP公司间STO流程里外向交货单PGI后自动触发内向交货单的实现

    SAP公司间STO流程里外向交货单PGI后自动触发内向交货单的实现 公司间采购(公司间库存转储)在很多SAP项目里很常见,笔者在很多项目里都有这种场景.项目实践中,都是采用SAP的Inter-comp ...

最新文章

  1. 微信公众号签名错误 invalid signature
  2. springboot文档笔记
  3. fscokopen php,详解PHP fsockopen的使用方法
  4. 小波降噪与重构例子 python
  5. The python debugger(PDB)的简介
  6. 甘肃省事业单位公考招聘考试权威复习资料---GIS专业全真模拟题(一)
  7. FireFox不能直接调用event对象,FireFox需要通过函数参数传递事件对象
  8. iPhone 13系列电池容量曝光:续航时长能否提升才是关键
  9. Zookeeper启动和Leader选举机制
  10. Hadoop学习曲线图
  11. 使用 imitator 实现前后端分离开发中的数据模拟与静态资源映射
  12. 模板 - 数论 - 整除分块
  13. MATLAB中三维曲面命令
  14. 4.DTD - 元素 - 属性
  15. 使用vue构建一个可视化大数据平台
  16. kong自定义插件(修改官方插件)
  17. 联想服务器双系统安装教程,◆【双系统安装教程】小白也能看懂的双系统安装教程♀灰常简单♀(原创)◆...
  18. xdb 服务_oracle XDB的问题,端口、http服务
  19. 官方rom提取原签名工具_从安卓官方版ROM中提取你喜欢的软件(单独安装包)
  20. 突破次元壁垒,让身边的玩偶手办在屏幕上动起来!

热门文章

  1. python 2x可以打么_15分钟让你了解Python套路,看你能不能坚持的住
  2. 自检代码中trustmanager漏洞_2020-11微软漏洞通告
  3. 用c语言编辑一个通讯录,C语言实现一个通讯录
  4. oauth2 token为空拦截_feign之间传递oauth2-token的问题和解决
  5. python bs4模块_python爬虫之Beautifulsoup模块用法详解
  6. html5通过api调数据库,使用HTML5数据库API [关闭](Using HTML5 Database API [closed])
  7. mybatis配置id自增mysql_mybatis配置oracle的主键自增长
  8. jquery 获取id最大的元素_超全整理!JQuery中的选择器集合
  9. mysql 建表代码
  10. 第三方快递接口API调用