一个人的狂欢

jenkins打包xcode项目

jenkins 运行

java -jar jenkins.war

起动后 访问 localhost:8080

配置一个项目

丢弃旧的构建

策略:Log Rotation

保持构建天数 3
保持构建的最大个数 10

选择使用源码管理,或者手动管理代码

我机器上已经用svn 下载了源码,我选择手动管理

 # 把代码copy 到jenkins 的workspace
cp -r /Users/admin/Documents/SVN/game2/dev .
chmod -R 777 .
svn cleanup ./dev
#revert changed file
svn revert -R ./dev
#rm new files
# svn status 状态为“?”的文件 直接删除,即未被管理的文件
# jenkins 似乎不能支持带管道的命令,这行需要写成一个脚本,调相应的脚本
#svn status --no-ignore | grep '^\?' |  perl -ne 'print "$1\n" if $_ =~ /^\S+\s+(.*)$/' |  tr '\n' '\0' | xargs -0 rm -rf
svn up ./dev

构建触发器

Build periodically 定期运行此项目

配置格式类似于cron

Examples:

H/15 * * * *

H(0-29)/10 * * * *

H 9-16/2 * * 1-5

H H 1,15 1-11 *

xcode 相关配置

  1. 配置Target:即xcode的target
    Clean before build 勾上  
    Configuration Release 或Debug

    不同的target可以配置不同的证书、bid等,打出的包供不同用途使用

  2. Code signing & OS X keychain options
    选中Unlock Keychain
    配置Keychain path为 ${HOME}/Library/Keychains/login.keychai 及密码,应该就是登录密码
  3. Advanced Xcode build options
    Xcode Project Directory ${WORKSPACE}/dev/client/cocos2d-x-2.2.6/projects/client/proj.ios/
    Xcode Project File client.xcodeproj
  4. 上面的步骤相当于Xocde里Cmd-r run,生成app,下面则将生成的app导出成ipa
cd ${WORKSPACE}/dev/client/cocos2d-x-2.2.6/projects/client/proj.ios/build/Release-iphoneos
xcrun -sdk iphoneos PackageApplication -v ${WORKSPACE}/dev/client/cocos2d-x-2.2.6/projects/client/proj.ios/build/Release-iphoneos/ZombieCave.app -o ${WORKSPACE}/dev/client/cocos2d-x-2.2.6/projects/client/proj.ios/build/Release-iphoneos/zombiecave.ipa

#把生成的ipa copy 到本地site,内网供别人下载(需要本机启用apache服务)
[ -d ~/site/zombiecave/${BUILD_ID} ] && rm -rf ~/site/zombiecave/${BUILD_ID}
mkdir ~/site/zombiecave/${BUILD_ID}
cp zombiecave.ipa ~/site/zombiecave/${BUILD_ID}

上专到fir.im

  1. fir.im Token 从fir.im上取
    ExInclude IPA/APK File Nam */*unaligned.apk,**/*unsigned*.apk
    Build Notes generated by jenkins

构建后的操作

可以选择执行另一个job的构建

Comments

comments powered by Disqus