layout | title | date | categories | tag |
---|---|---|---|---|
post |
利用 Travis-CI 让你在 GitHub 上的 CocoaPods 库持续构建 |
2017-03-16 10:00:00 -0500 |
Code |
Travis-CI |
Travis-CI 是一个专门为开源项目打造的持续集成环境,目前已经支持绝大部分主流语言,它采用 yaml 格式,简洁清新独树一帜(感谢百度百科,2333)。
每次 Commit 后会执行构建操作,并在 GitHub 对应的 Commit 后显示构建状态或结果,如图所示:
本文以 EFQRCode(一个使用 Swift 作为开发语言的 CocoaPods 开源库) 为例,简述怎样为自己的开源项目添加持续构建功能。
在根目录下添加一个 .swift-version 文件,在其中填写 Swift 版本号,例如这里 EFQRCode 库使用 Swift 3.0 进行开发,所以这里填写的是:
3.0
在根目录下添加一个 .travis.yml 文件,在其中填写配置信息:
osx_image: xcode8
language: objective-c
cache: cocoapods
podfile: Example/Podfile
env:
global:
- LANG=en_US.UTF-8
- LC_ALL=en_US.UTF-8
- XCODE_WORKSPACE=Example/EFQRCode.xcworkspace
matrix:
- SCHEME="EFQRCode-Example"
before_install:
- gem install xcpretty --no-rdoc --no-ri --no-document --quiet
- gem install cocoapods --pre --no-rdoc --no-ri --no-document --quiet
- pod install --project-directory=Example
script:
- set -o pipefail
- xcodebuild -workspace "$XCODE_WORKSPACE" -scheme "$SCHEME" -configuration Debug clean build CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO | xcpretty -c
- xcodebuild -workspace "$XCODE_WORKSPACE" -scheme "$SCHEME" -configuration Release clean build CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO | xcpretty -c
- pod lib lint --no-clean
after_success:
- sleep 5
打开 https://travis-ci.org/ 注册一个 Travis-CI 账号,也可以通过 GitHub 账户直接登陆。Travis-CI 服务对开源项目是免费的,所以你的私有项目无法享受到免费的持续构建服务。
第一次进入时会自动从 GitHub 同步项目数据,可能需要等待一段的时间进行同步,同步完成后可以看到如下的项目列表:
一般情况下每隔一定的时间 Travis-CI 都会从 GitHub 自动同步数据,如果新添加的项目想要立刻同步到 Travis-CI 的话,可以手动点击右上角的 Sync account 同步按钮,如图所示:
然后接下来就是开启对应项目的持续构建,大家应该已经猜到该怎么做了吧...将对应项目之前的 Switch 按钮设为启用绿色勾选状态即可,如图所示:
若发生构建失败,可通过查看错误日志的方式来定位具体问题原因,可点击工程名,选择出错的那一次构建即可:
本文只提供了针对 Swift CocoaPods 库的操作步骤,Travis-CI 具体到每种语言/项目的构建配置各不相同,参数各异,有的时候还需要根据自己的项目特性做一些个性化的调整,需要我们多思考,多调试,多尝试,总之不要轻易放弃哇。别问我是怎么知道的,😂 :
如有任何知识产权、版权问题或理论错误,还请指正。
https://eyrefree.org/2017/Travis-CI
如文中无特殊说明,本站均使用以下协议保护:署名-非商业性使用-禁止演绎。