如何在集成脚本之前取消/中止 XCode Bot 集成

Posted

技术标签:

【中文标题】如何在集成脚本之前取消/中止 XCode Bot 集成【英文标题】:How to cancel/abort an XCode Bot Integration in Before Integration Script 【发布时间】:2016-06-21 12:00:38 【问题描述】:

我有一个正在提交的机器人,它增加了内部版本号并推送到同一个分支。我在集成脚本之前检查提交的用户,如果它是 CI 用户(仅且仅用于推送增加的提交数),我想中止当前的集成。我看到了这个:

https://***.com/a/30062418/767329

/xcode/api/integrations/INTEGRATION_ID/cancel

这个调用 curl 来停止集成,但我想在它开始之前停止当前的集成。我知道如果最近 ci 用户的增加提交没有运行机器人,我也可以检查并推送增加提交。但是,如果它是 ci 用户提交,我什至不希望存档工作(我希望在集成开始之前就中止它)。

【问题讨论】:

解决方法:在集成脚本之前,我删除/删除了整个项目文件夹,因此它会出错并且集成失败。 【参考方案1】:

不幸的是,没有办法在集成开始之前取消它。鉴于您正在寻找的任何条件,您都可以使用预集成触发器来阻止集成进一步发展。

如果您的唯一目标是提高内部版本号,我建议您在内部版本号字段中使用 Xcode Server 环境变量“XCS_INTEGRATION_NUMBER”。

每当 Xcode Server 集成您的项目时,它都会自动使用集成编号作为构建编号。这些将永远是独一无二的。

【讨论】:

我需要做的是 1. 每当一个新的提交被推送到一个分支时创建一个存档文件。 2. 使用 CI git 用户增加版本号并将更改推送到 master 分支 3. (因为有一个新的提交到分支 Xcode Server 尝试执行 1-2 并且它变成了一个循环)为了防止循环,我检查提交的用户 == CI_user,我想退出集成。

以上是关于如何在集成脚本之前取消/中止 XCode Bot 集成的主要内容,如果未能解决你的问题,请参考以下文章

Xcode Bot 预集成触发期间 Python 脚本失败

在使用 Xcode Server bot 集成之前复制文件

集成后的 Xcode 6 Bot 将 .archive 文件下载到位置

利用Xcode Server实现bot持续集成

您如何配置 Xcode Server (Bot) 以仅保留 n 个最近的集成?

Xcode 7 UI 测试与 Xcode Bot 的集成程度如何?它是不是显示 UI 测试步骤?