1. 产品简介
  2. 快速开始
  3. 编写构建流程
  4. 配置构建计划
  5. 构建节点
  6. 管理构建计划
  7. 系统插件
  8. 自定义团队插件
  9. 最佳实践
  10. 常见问题
  11. 词汇表
持续集成——QCI / 环境变量 / 变量分类与使用

触发方式

在持续集成计划的配置过程中,您可以按需设置构建计划运行的触发规则。在触发规则中可以设置构建计划的频率与条件触发。

设置触发方式

前往持续集成任务配置界面中的「触发配置」页。在此处你可以为持续集成任务配置多种触发方式。

在「历史构建」页你可以看到构建任务由何种方式进行触发。

代码提交触发

顾名思义,当你提交代码时将自动触发持续集成任务,任务的启动者为代码的提交人。在配置文件 CIFile 中还可以通过 QCI_REPO_BRANCH 获取到运行分支,QCI_REPO_COMMIT 获取到当次执行的版本号。

标签触发

若使用代码标签触发方式,任务的启动者为代码标签的推送者。在配置文件 CIFile 中还可以通过 QCI_REPO_BRANCH 获取运行分支,QCI_REPO_TAG 获取到当次执行的标签名称。若并非使用标签触发方式则 QCI_REPO_TAG 为空。

合并请求触发

对于合并请求触发方式,任务启动者为发起合并请求的成员。提出合并请求后,首先会触发源分支的集成任务。若此分支无集成任务,将切换触发分支为目标分支的任务。所以当需要监控快速变化的分支时,将监控分支设置为目标分支更为妥当。同一分支和 commit 号与合并请求不会重复触发。

对于合并请求触发,执行脚本中可以通过环境变量 QCI_MR_SOURCE_BRANCH 获取到源分支,QCI_MR_TARGET_BRANCH 获取到目标分支。当非合并请求触发时,这两个环境变量均为空。

忽略触发

对于代码提交触发与合并请求触发方式,在 commit message 中的任何位置标注 [ci skip][skip ci],则本次提交或合并请求不会触发任务。

若有多项 commit message,将会以 head 的 commit message 中是否含有 [ci skip][skip ci] 为准。

定时触发

除了可以配置定时触发日期,还可以针对分支设置多个触发规则。当选择代码未变更时不触发选项时,如果代码距离上次触发未更改,即使到达触发时间,任务也不会被触发。

其他配置

任务并发配置

在触发方式中可以设置是否允许任务并发与配置并发数量。勾选后,并发数为一个任务同时允许运行的构建数目;不勾选时任务同一时刻只能运行一次构建。

任务并发时会在编译机上同时生成多个 Workspace。

不清理工作空间

持续集成任务在执行前会执行 git clean 等操作还原工作空间,以确保每次运行的工作空间是干净的。但某些情况下,例如要实现增量编译的效果,需要保留工作空间下的文件,那么就需要勾选不自动清理工作空间。

自动取消排队中的任务

当有多项持续集成任务正在排队时,如果只关心最新的构建结果,持续集成任务提供自动取消排队的任务选项,可以无需等待旧的构建。勾选此选项后,有新的构建生成时,队列中排队的构建会自动变为中止状态。

为了标识本次运行是自动取消的,构建详情将会标识 stop by auto cancel

上一篇快速开始
上一篇触发方式
上一篇分支监控
上一篇重新运行
上一篇自动取消机制
上一篇自定义版本号
上一篇收尾阶段
上一篇个性化结果展示
上一篇结果徽章
上一篇结果通知
上一篇变量分类与使用
最近更新
感谢反馈有用
感谢反馈没用

在阅读中是否遇到以下问题?

您希望我们如何改进?