3

问题:

我目前在一天中的特定时间定期运行 XCode 机器人。但是,我只希望机器人在 repo 中有任何新提交时进行新的构建。每天在特定时间,它应该检查是否有新的提交。如果有新的提交,则继续构建过程,否则中止它。如果没有更改,为什么要运行新版本并按版本号等递增,对吗?

我试过什么?

我浏览了XCode 6 WWDC 视频的持续集成。它提到我们可以定期运行机器人或在每次新提交后运行它。我有点想把这两种方式结合起来。在这方面找不到任何东西。

解决方案可能吗?

我看到有一个可以运行的预集成脚本。我想的一种方法是让我的逻辑检查预集成 shell 脚本中是否有新的提交。如果没有,则中止 XCode 机器人构建。如何从脚本中止构建?如果您知道其他任何方式,请回答/评论。

4

1 回答 1

0

不完全是答案,但发现了一些可能有帮助的东西。好吧,目前看来,一旦启动,似乎无法阻止机器人。但是,您可以选择不增加内部版本号,以防上次没有新的提交。根据您使用的内容,测试人员/用户不会每次都获得新的构建/通知,直到有新的提交。

您可以指定要在Build Phases. Copy Bundle Resources您可以在选项之后放置一个脚本,在其中执行 agit diff并查看是否有任何更改。如果没有变化就退出:

# do not assign the new build number if there is no changes
DIFF=`git diff`
if [[ $DIFF == "" ]]; then exit 0; fi

来源:如何在 Xcode 中自动调整 bundle 版本号

于 2015-05-15T16:28:19.137 回答