您的位置:首页 > 移动开发 > IOS开发

使用Jenkins搭建iOS开发的CI服务器

2015-12-23 15:41 513 查看


简介

持续集成CI(continuous integration)是一种可以增加项目可见性,降低项目失败风险的开发实践。iOS开发中CI的选择有很多,比如可以使用Apple提供的Bots来完成自动化构建和单元测试,其优点就是和Xcode深度集成,只需几步配置就可以完成,缺点就是不够灵活,可定制化程度不高。这篇文章主要讲解如何使用开源社区的一个CI工具Jenkins来搭建iOS开发的CI环境。如果是搭建单独CI服务器的话,就需要一台单独的mac机器了。


下载并运行

打开Jenkins的官网,在页面的右侧,点击下载最新版本的Jenkins的war包。

下载完成后,打开terminal,进入到war包所在目录,执行命令:
java -jar jenkins.war --httpPort=8888


httpPort指定的就是Jenkins所使用的http端口,这里指定8888,可根据具体情况修改。待Jenkins启动后,打开浏览器输入地址:
http://localhost:8888/


便可以打开Jenkins的管理界面了。


Jenkins配置


安装git插件

Jenkins默认没有安装git插件,需要手动选择安装。进入Jenkins的管理界面,依次选择
Manage Jenkins->Manage
Plugins
,选中“Available”选项,在页面的右上角的“Filter”中输入git过滤条件,在所有列出的结果中,选中“Git Client Plugin”和“Git Server Plugin”这两个选项,然后点击按钮“Download now and install after restart”。等待插件下载安装成功后,重启Jenkins。如下图所示:



需要安装的插件不止这两个,还有git plugin,Credentials
Plugin(git用户和密码)”和“Keychains
and Provisioning Profiles Management(iOS证书管理,也可以不用,在jenkins服务器上手动安装,然后在xconfig文件中指定证书)”

xcode配置文件的配置范本:

CODE_SIGN_IDENTITY[sdk=*] =iPhone Developer: YINGCHEN ZHANG (7QRJQNU276)
PROVISIONING_PROFILE[sdk=*] = 906d2ae1-4d2d-4a45-84d3-256e89738c08

脚本解锁钥匙串:security unlock-keychain  -p YS12101210 ~/Library/Keychains/login.keychain

如果每次签名都需要输入用户名和密码,可能是因为密钥权限问题,双击设置问所有人都可以访问就可以了。

编译脚本:

cd $WORKSPACE

cd iosclnt/libHLSStreamingEngine

pwd

xcodebuild clean -configuration Release 

xcodebuild build -configuration Release 

cd $WORKSPACE

cd iosclnt/Library/SocketRocket

pwd

xcodebuild clean -scheme SocketRocket -configuration Release -sdk iphoneos 

xcodebuild build -scheme SocketRocket -configuration Release -sdk iphoneos

cd $WORKSPACE

cd iosclnt/Library/SDWebImage

pwd

xcodebuild clean -scheme SDWebImage -configuration Release -sdk iphoneos 

xcodebuild build -scheme SDWebImage -configuration Release -sdk iphoneos

cd $WORKSPACE

cd iosclnt/vcloud

pwd

xcodebuild clean -configuration Release -xcconfig ./xcconfig/Release-vcloud.xcconfig

xcodebuild build -configuration Release -xcconfig ./xcconfig/Release-vcloud.xcconfig

打包脚本:

/usr/bin/xcrun -sdk iphoneos PackageApplication -v $WORKSPACE/iosclnt/vcloud/build/Release-iphoneos/vcloud.app
-o $WORKSPACE/iosclnt/vcloud/build/Release-iphoneos/vcloud.ipa

cd /Volumes/AutomationData/builds_web/BUILDS/ios/release/

mkdir -p $BUILD_NUMBER

//输出与移动目录脚本:

cd $BUILD_NUMBER

cp $WORKSPACE/iosclnt/vcloud/build/Release-iphoneos/vcloud.ipa  ./

cp -r $WORKSPACE/iosclnt/vcloud/build/Release-iphoneos/vcloud.app.dSYM ./

cp -r $WORKSPACE/iosclnt/vcloud/build/Release-iphoneos/vcloud.app ./

cd /Volumes/AutomationData/builds_web/BUILDS/ios/latest/release/

cp -f $WORKSPACE/iosclnt/vcloud/build/Release-iphoneos/vcloud.ipa  ./
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: