您好,欢迎来到二三娱乐。
搜索
您的当前位置:首页iOS CI (Jenkins + Phabricator +

iOS CI (Jenkins + Phabricator +

来源:二三娱乐

shellbrew install jenkins
然后 jenkins 启动,牛腩器中输入 127.0.0.1:8080 跳坑

Jenkins 里 xcode 相关插件装上
步骤别的博客都有,Google ios ci 持续集成,比如:

版本可能旧一点,但能脑补上

我们这用的 Phabricator,由于是 iOS,放在本地 Mac 上而非服务器,所以私钥配好就行了,Jenkins 和 Phabricator 回调交互啥的就不管了

另外主要遇到几个问题:

jenkins.plugins.slack.ActiveNotifier hudson.model.listeners npe

test 推送消息却好好的
弄了俩小时也不知怎么回事,睡一觉第二天正常了...

貌似知道原因了,Project Channel 那里不能为空

ResourceRules.plist

第一天 提示 ResourceRules.plist 不对, 于是在工程和 Jenkins 配置里都加了这个
Custom xcodebuild arguments $(SDKROOT)/ResourceRules.plist

结果第二天提示找不到 ResourceRules.plist,Jenkins 里删掉这个反而 OK 了,真奇葩

iPhone Developer: no identity found

swift-stdlib-tool failed with exit code 1


另外企业账号还没买,Jenkins 没开账号系统,继续等坑

DUNS(邓白氏码)

之前企业账号一直卡在这里,苹果邮件迟迟没回应,所以一定要去电话苹果客服,一两天就 OK 了

bundle identifier

之前 company 账号中 .alpha .beta 占用掉了,企业账号这里无法创建相同的证书,只好删除原来账号里改 ID

之前 beta 作为 testflight,并没上传 AppStore,Email 苹果,回复:

Currently, your app does not have at least one approved version.

...
只好改了 ID

over the air distribution

然后python -m SimpleHTTPServer,iPhone 上 Safari 打开,结果... 还是不行...

build number

targets -> Build Phases -> + New Run Script Phase

buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "${PROJECT_DIR}/${INFOPLIST_FILE}")
buildNumber=$(($buildNumber + 1))
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "${PROJECT_DIR}/${INFOPLIST_FILE}"

这样 scheme 是 release 的时候,build 会自动 +1

PS:
其实这个可以写到 Jenkins build 步骤的 shell 中,然后 push 到 origin/master,再把 *.ipa 上传到服务器

OS X Server

坑,有时间整理一个

DistributionProvisioningProfiles

直接把下载的 *. mobileprovision,写路径发现是不行的,只好自己手动打包

xcodebuild -exportArchive -exportFormat IPA -archivePath "$Yourarchive" \
 -exportPath imeican-Beta-xcodebuild.ipa \
 -exportProvisioningProfile $YourDistributionProvisioningProfiles

总结:
一路走来一路坑

Copyright © 2019- yule263.com 版权所有 湘ICP备2023023988号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务