51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2266|回复: 2
打印 上一主题 下一主题

[转贴] [分享] 自动化测试与持续集成方案--IOS Daily Build

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2017-6-22 11:33:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
准备
首先你得有Mac的电脑,xcode, 开发者证书。
安装 xctool, 如不会,请自行度娘。
打包过程
配置好证书,然后在命令行转到项目目录  (如果你证书配置搞不定,让开发帮忙。)
  1. 1.清除  
  2. EthantekiiMac:CTest ethan$ xcodebuild clean  
  3. 2.编译  
  4. EthantekiiMac:CTest ethan$ xcodebuild -target CTest -configuration Release  
  5. 3.打包ipa  
  6. EthantekiiMac:CTest ethan$ xcrun -sdk iphoneos  PackageApplication -v /Volumes/workildCommand/test/CTestild/Release-iphoneos/CTest.app -o /Volumes/workildCommand/test/CTest/CTest.ipa
复制代码
跟 android ant 打包一样,也是三条命令。
然后我整了个脚本:
  1. #!/bin/sh
  2. #  autoBuild.sh
  3. #  Created by Xie Ming on 15-04-28.
  4. #  Copyright (c) 2015年 XieMing. All rights reserved.
  5. ###############################################
  6. #使用方法
  7. #./autoBuild.sh arg1 arg2
  8. #arg1 项目的路径,例如:/Users/apple/code
  9. #arg2 为项目编译ID
  10. ###############################################

  11. ###############################################

  12. #参数检查
  13. if [ -z "$1" ];
  14. then
  15. echo "error:项目路径为空"
  16. exit 1
  17. fi
  18. if [ -z "$2" ];
  19. then
  20. echo "error:项目编译ID为空"
  21. exit 1
  22. fi
  23. #日志地址
  24. logPath="${1}/log.txt"
  25. #ipa地址
  26. ipaPath="${1}/${2}.ipa"
  27. ##############################################

  28. #清理项目
  29. cd $1
  30. xcodebuild clean

  31. ###############################################

  32. #编译并将日志写到文件 正式使用需要修改 Debug/Release
  33. xcodebuild -target XXXX -configuration Debug > ${logPath}
  34. #判断是否编译成功
  35. if [[ $? -eq 0 ]];  
  36. then
  37. echo "build success"
  38. else
  39. cho "build error"
  40. exit 2
  41. fi

  42. ###############################################
  43. #生成ipa
  44. xcrun -sdk iphoneos PackageApplication -v build/Debug-iphoneos/*.app -o ${ipaPath}
  45. if [[ $? -eq 0 ]];  then
  46. rm -rf build
  47. echo "create ipa success"
  48. exit 0
  49. else
  50. echo "create ipa error"
  51. exit 2
  52. fi
复制代码
打包能成功。通过Debug/Release来控制签名和不签名。
持续集成
Jenkins 上要装xcode 的插件。 配置好后,你会发现一直失败,每次都会在codsign出错。然后你不在jenkins中调用,只用命令执行是通过的。这个问题困惑了我好久,最后找到了方案:




在jenkins中设置Unlock Keychain.
现在能打包成功。
但是下一个问题又来了。
打好的包只是在运行打包的机子上。
找到一种解决方案是配置FTP,然后用网页下载。



但是没有FTP服务器资源。
最终自己写了个脚本,用邮件发附件形式发出来,虽然很丑,也算是曲线救国把。



#思考好像打包过程中,可以把单元测试也一起做了,没有去尝试,等有空了去看看。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2017-6-22 11:47:50 | 只看该作者
谢谢楼主分享
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2017-6-22 11:48:34 | 只看该作者

不用谢!
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-14 14:42 , Processed in 0.063106 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表