51Testing软件测试论坛
标题:
[分享] 自动化测试与持续集成方案--IOS Daily Build
[打印本页]
作者:
巴黎的灯光下
时间:
2017-6-22 11:33
标题:
[分享] 自动化测试与持续集成方案--IOS Daily Build
准备
首先你得有Mac的电脑,xcode, 开发者证书。
安装 xctool, 如不会,请自行度娘。
打包过程
配置好证书,然后在命令行转到项目目录 (如果你证书配置搞不定,让开发帮忙。)
1.清除
EthantekiiMac:CTest ethan$ xcodebuild clean
2.编译
EthantekiiMac:CTest ethan$ xcodebuild -target CTest -configuration Release
3.打包ipa
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 打包一样,也是三条命令。
然后我整了个脚本:
#!/bin/sh
# autoBuild.sh
# Created by Xie Ming on 15-04-28.
# Copyright (c) 2015年 XieMing. All rights reserved.
###############################################
#使用方法
#./autoBuild.sh arg1 arg2
#arg1 项目的路径,例如:/Users/apple/code
#arg2 为项目编译ID
###############################################
###############################################
#参数检查
if [ -z "$1" ];
then
echo "error:项目路径为空"
exit 1
fi
if [ -z "$2" ];
then
echo "error:项目编译ID为空"
exit 1
fi
#日志地址
logPath="${1}/log.txt"
#ipa地址
ipaPath="${1}/${2}.ipa"
##############################################
#清理项目
cd $1
xcodebuild clean
###############################################
#编译并将日志写到文件 正式使用需要修改 Debug/Release
xcodebuild -target XXXX -configuration Debug > ${logPath}
#判断是否编译成功
if [[ $? -eq 0 ]];
then
echo "build success"
else
cho "build error"
exit 2
fi
###############################################
#生成ipa
xcrun -sdk iphoneos PackageApplication -v build/Debug-iphoneos/*.app -o ${ipaPath}
if [[ $? -eq 0 ]]; then
rm -rf build
echo "create ipa success"
exit 0
else
echo "create ipa error"
exit 2
fi
复制代码
打包能成功。通过Debug/Release来控制签名和不签名。
持续集成
Jenkins 上要装xcode 的插件。 配置好后,你会发现一直失败,每次都会在codsign出错。然后你不在jenkins中调用,只用命令执行是通过的。这个问题困惑了我好久,最后找到了方案:
在jenkins中设置Unlock Keychain.
现在能打包成功。
但是下一个问题又来了。
打好的包只是在运行打包的机子上。
找到一种解决方案是配置FTP,然后用网页下载。
但是没有FTP服务器资源。
最终自己写了个脚本,用邮件发附件形式发出来,虽然很丑,也算是曲线救国把。
#思考
好像打包过程中,可以把单元测试也一起做了,没有去尝试,等有空了去看看。
作者:
草帽路飞UU
时间:
2017-6-22 11:47
谢谢楼主分享
作者:
巴黎的灯光下
时间:
2017-6-22 11:48
草帽路飞UU 发表于 2017-6-22 11:47
谢谢楼主分享
不用谢!
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2