有没有办法强制 Xcode 机器人进行干净的结帐?

Posted

技术标签:

【中文标题】有没有办法强制 Xcode 机器人进行干净的结帐?【英文标题】:Is there a way to force an Xcode bot to do a clean checkout? 【发布时间】:2015-11-05 16:35:34 【问题描述】:

我错误地认为在 Xcode bot 配置的“Schedule”选项卡中选择“Cleaning: Always”会强制 bot 在每次集成开始时进入其结帐目录rm -rf,但事实并非如此.

(具体来说,通过运行脚本阶段复制到检出目录的非跟踪文件在集成之间持续存在。)

有什么方法可以强制机器人始终对它的检出目录进行核对,并每次都从源代码管理中进行干净的检出?

是否甚至可以强制 Xcode(服务器?)向我显示结帐目录在 哪里? (我知道它隐藏在 /Library/Developer/XcodeServer/Integrations/ 的内部某个地方,但由于他们的权限,我无法以普通用户的身份查看这些目录。我正在考虑“在 Finder 中显示”菜单选项等。)

【问题讨论】:

供我以后参考,构建的产品(.xcarchive 等)在/Library/Developer/XcodeServer/IntegrationAssets/ 【参考方案1】:

您可以在机器人设置中为机器人添加触发器来实现此目的。

在您本地的 XCode 中选择您的机器人,右键单击“编辑机器人...”、触发器,然后在“集成之前”部分中 + 添加触发器。

【讨论】:

触发器应该做什么? rm -rf $XCS_SOURCE_DIR?这让我觉得有点勇敢。你试过了吗? 我刚试过,它并没有真正达到我想要的效果。当我第一次运行它时,它似乎确实破坏了结帐目录,但随后该集成立即失败了。随后删除触发器并再次集成似乎是重新尝试使用新结帐进行构建。

以上是关于有没有办法强制 Xcode 机器人进行干净的结帐?的主要内容,如果未能解决你的问题,请参考以下文章

编辑器或在没有 Xcode 的情况下以干净的方式打印 plist 的方法

有没有办法强制 SwiftUI 中的横向模式仅用于某些视图?

Xcode Server:并发机器人构建?

仅当强制性类别的产品在购物车中时才允许结帐

使用单个命令进行分支和结帐

尽管禁用了“强制安全结帐”,但 woocommerce 中的 SSL 连接错误