Jenkins 自动构建带watchOS的工程

刚做好了手表应用,结果将代码上传后,发现原来用jenkins做自动打包的时候会报找不到watchos路径的错误,原来是用jenkins的Xcode插件,填好上面的scheme就能打出来的,现在不行了,搞了几天,终于搞定。

使用可以参考:http://reviewcode.cn/article.html?reviewId=11

之前这个jenkins不是我搞的,也不太懂,后面才知道原来只是用了Jenkins提供的插件来打包的,现在发现插件不行了,而且虽然上面的文章已经提供了一个打包脚本,但是并没有签名的信息,即使能打包也是没办法安装的。

接着发现原来,要用一个新的方式,参考:http://www.matrixprojects.net/p/xcodebuild-export-options-plist/

-exportOptionsPlist exportPlist.plist(这个文件要先创建好放在本地) 加这个换掉-exportFormat ipa这个,原本以为就可以了,后面发现还是报错,然后找到了http://stackoverflow.com/questions/32841300/xcodebuild-exportarchive-exportoptionsplist-error-for-key-method-expected-o 这个问题,发现要把teamID给去掉,这时就可以了。

下面是我jenkins的三个execute cell,希望对大伙有用:

1.

mkdir -p archive      //创建这个文件夹,用来存储最后打出来的ipa包

rm -rf archive/*

mkdir -p build   //这个打包的时候用来过渡

rm -rf build/*


2.签名,打包

xcodebuild clean -workspace 你的workSpace名字.xcworkspace -scheme 你的scheme名字 -configuration Debug(Release等等) archive -archivePath ./build/你的应用名字(随意).xcarchive && \

xcodebuild -exportArchive -exportOptionsPlist JenkinsArchive/exportDebugPlist.plist(这个文件先建好放在本地,是development还是ad-hoc,可以在工程里配上这两个文件,在打包的时候改一下这个plist地址就行) -archivePath build/你的应用名字(随意).xcarchive -exportPath build/

3.最后将包复制到我建的archive目录下

cp -f build/你的应用名字(随意).ipa archive/Debug.ipa

注意事项:

1.项目从svn下载到workspace后,一定要打开workspace,在Xcode里command+B build一下工程,不然jenkins会卡在某个地方不动(我第一次的时候都要这样子做)

2.把jenkins的Xcode插件禁掉


还不会用markdown写,好丑……见谅。

你可能感兴趣的:(Jenkins 自动构建带watchOS的工程)