特拉维斯 CI 与 Swift 框架

Travis CI with Swift Framework

我不确定 Travis CI 是否表现得像它应该的那样,我觉得它是 "overreacting"。它在我打开 PR、合并 PR 以及(例如)编辑 README.md 并推送到 master.

时进行测试

这是我的 Travis CI 配置 YML。

language: objective-c

xcode_workspace: {name}
xcode_scheme: {name}Tests
xcode_sdk: iphonesimulator10.0
osx_image: xcode8.3

branches:
  only:
    - master

before_install:
  - pod repo update

script:
  - xcodebuild -workspace {name}.xcworkspace -scheme {name} -sdk iphonesimulator ONLY_ACTIVE_ARCH=no
  - xcodebuild test -workspace {name}.xcworkspace -scheme {name}Tests -sdk iphonesimulator ONLY_ACTIVE_ARCH=NO -destination 'platform=iOS Simulator,name=iPhone 6s Plus,OS=10.0'

不是"overreacting":p

其实,从我自己的新手经验来看,这是它的默认行为,这是有道理的。当你打开一个 PR 时,它会测试你要合并的分支是否没有破坏任何东西,这是正常的。 合并发生后,它会测试合并是否没有破坏任何内容,这可能就是您所说的反应过度。但我确实发生过一次,虽然我不能告诉你原因,但那是很久以前的事了。

Travis-CI 的文档解释了如何将作业限制在分支机构,但我想当我阅读您的 travis.yml 时您已经知道了。以防万一,是this part您可能没有意识到可以通过指定

来跳过构建
[ci skip] or [skip ci]

在 git 提交消息中。 这是 doc reference。 我实际上还没有听说过有什么方法可以防止 Travis 在 PR 前后进行测试。

希望这对您有所帮助。


编辑: 在 travis-ci.org 上观看你的最后一次构建时,在右上角,你有 "More options" 按钮。单击它和 select 设置。在这里你可以select是否要构建分支更新 and/or 构建拉取请求更新。在此设置页面上进一步查看,您还可以决定在队列中有新构建时自动取消构建,例如当你刚刚意识到你在上次推送中犯了一个错误并重新推送以修复它时。