使用Jenkins搭建iOS开发的CI服务器
来源:互联网 发布:儿童编程软件scratch2 编辑:程序博客网 时间:2024/05/17 07:15
简介
持续集成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 ./
- 使用Jenkins搭建iOS开发的CI服务器
- 使用Jenkins搭建iOS开发的CI服务器
- 使用Jenkins搭建iOS开发的CI服务器
- 使用Jenkins搭建iOS开发的CI服务器
- 使用Jenkins搭建iOS开发的CI服务器
- 使用Jenkins搭建iOS开发的CI服务器
- 使用Jenkins搭建iOS的CI服务器(一)
- 使用Jenkins搭建iOS的CI服务器(二)
- 使用Jenkins搭建iOS的CI服务器(三)
- CI 持续集成服务器搭建-Jenkins篇
- 使用Jenkins搭建持续集成(CI)环境
- 使用Jenkins搭建持续集成(CI)环境
- 使用Jenkins搭建持续集成(CI)环境
- 使用Jenkins搭建持续集成(CI)环境
- 使用Jenkins搭建持续集成(CI)环境
- 使用Jenkins搭建持续集成(CI)环境
- 使用Docker+Jenkins 搭建CI 自动部署
- Jenkins: 使用Jenkins搭建持续集成(CI)环境
- Hadoop 的子项目
- 异常管理 - Java异常处理分析 (Unchecked Exception VS Checked Exception)
- Input Driver
- 安卓图片加载文字模糊解决方法
- 二叉树的遍历C++实现
- 使用Jenkins搭建iOS开发的CI服务器
- android measure 流程 (方便记忆)
- Xml介绍
- 调用app出现"This app is not allowed to query for scheme..."
- win7github上SlidingMenu导入androidstudio
- Linux上更改mysql数据库目录
- 怎么让ubuntu变得更加好用
- u.aly.bt: can't find referenced method 'int checkSelfPermission(java.lang.String)' 混淆失败的问题
- 解决QQ第三方登录出现access_token为空的情况