手把手教你, Jenkins构建iOS项目
qvre4003
8年前
<p>用xcode archive 导出ipa 然后上传到fir/蒲公英等测试平台 需要花至少10到20分钟,使用Jenkins搭建的持续集成环境只需3分钟. 下面是我今天早上研究的成果,由于Jenkins是基于java开发的先要安装JDK java官网直接下载安装.</p> <h3><strong>1.安装Jenkins</strong></h3> <p><strong>1.1方法一:直接下载安装</strong></p> <p>下载好安装包后打开安装</p> <p>PS:</p> <p>安装完成后在终端中输入,即可打开Jenkins。</p> <p><strong>1.2 方法二:使用命令行安装</strong></p> <pre> brew install jenkins</pre> <p>若brew无效,先安装homebrew</p> <pre> ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"</pre> <p>切换到 cd /usr/local/Cellar/jenkins/版本号/libexec/jenkins.war</p> <p>执行启动</p> <pre> java -jar ./jenkins.war</pre> <p>显示下图即启动成功 并给出了安装密码和密码文件路径</p> <p style="text-align: center;"><img src="https://simg.open-open.com/show/9d3233ab98efcdb27db40c58baeb7e7f.png"></p> <p><strong>1.3 初始化Jenkins 用浏览器打开:</strong></p> <h3><strong>2.管理插件</strong></h3> <p>系统管理->插件管理->可选插件中安装以下插件</p> <p style="text-align:center"><img src="https://simg.open-open.com/show/d66defb81c5224aedd17aa43434f774b.png"></p> <p>下载以下插件</p> <ul> <li> <p>Subversion Plug-in(svn)</p> </li> <li> <p>Xcode integration(Xcode)</p> </li> <li> <p>Environment Injector Plugin(自定义全局变量)</p> </li> <li> <p>Email Extension Plugin(邮件)</p> </li> </ul> <p>fir.im插件 下载地址 需要手动配置 点击高级选项卡</p> <p>然后在页面找到上传插件,选择已下载好的fir.im jenkins 插件文件路径,并点击上传等待安装成功。</p> <p style="text-align:center"><img src="https://simg.open-open.com/show/de0717313490a0dee65d53cd0c3152fc.jpg"></p> <p>安装成功后,如果没有创建 Jenkins 项目,请先创建项目。如果需要配置已存在的项目,请进入在配置中找到增加构建后操作步骤,并选择Upload to fir.im添加到 Jenkins 项目中。 </p> <p><img src="https://simg.open-open.com/show/6bc6ea05475a4cb212005960e5f67b18.jpg"></p> <p>fir.im Token 查看方法:直接点击 API token 进行查看</p> <p><strong>2.1 系统管理->系统设置中可以进行全局配置</strong></p> <p>比如Xcode Builder(钥匙串设置)</p> <p style="text-align:center"><img src="https://simg.open-open.com/show/193d84d8e8205cff80dd84d92249f82e.png"></p> <p>需填写的内容:</p> <ul> <li> <p>Keychain Name:iPhone Distribution:*(dis证书常用名)</p> </li> <li> <p>Keychain path:${HOME}/Library/Keychains/login.keychain(dis证书路径)</p> </li> <li> <p>Keychain password:*</p> </li> <li> <p>Add to keychain search path after build:Yes</p> </li> <li> <p>Default keychain:iPhone Distribution:*</p> </li> </ul> <h3><strong>3.新建一个项目</strong></h3> <p><strong>3.1 基本信息</strong></p> <p>点击左侧工具栏”新建”,选择第一项”构建一个自由风格的软件项目” OK</p> <p><strong>3.2 源码管理信息 填写svn地址和账号密码</strong></p> <p style="text-align:center"><img src="https://simg.open-open.com/show/9131a113083046c8e006915902686868.png"></p> <p>如果你是用的是Git,那就请选择Git,然后输入你的仓库地址</p> <p style="text-align:center"><img src="https://simg.open-open.com/show/bd997114dcf6c1549a0eddb377930c65.png"></p> <p><strong>3.3 构建触发时机</strong></p> <p>这里就是告诉jenkins什么时候自动构建,这里我同时设置了每周一到周五在每天的8点到9点之间执行一次,当然也可以不设置。</p> <p style="text-align:center"><img src="https://simg.open-open.com/show/77e97f1cd0032ee05b7fcb2ab5f118d7.png"></p> <p style="text-align:center"><img src="https://simg.open-open.com/show/410e0f29544f6a7aa2042dab35475fd7.png"></p> <p><strong>3.4 构建</strong></p> <ul> <li> <p>Target Xcode项目中Target的名字对应</p> </li> <li> <p>Clean before build设置为YES</p> </li> <li> <p>Configuration我选择了Release(在Release的时候Archive)</p> </li> <li> <p>.ipa filename pattern 随便起个.ipa的名字</p> </li> <li> <p>Output directory为.ipa的输出路径,我这里设置为 ${WORKSPACE}/build/</p> </li> </ul> <p>PS:如果集成了CocoaPods</p> <p style="text-align:center"><img src="https://simg.open-open.com/show/515f253917bec836dd7e5c2f8b2f9e62.png"></p> <p><strong>3.5 构建后操作 添加构建后操作步骤</strong></p> <ul> <li> <p>Execute a set of scripts</p> </li> <li> <p>Add build step</p> </li> <li> <p>Execute shell</p> </li> <li> <p>在Commad中输入</p> </li> <li> <p>fir p ${WORKSPACE}/build/你的项目包 -T #API Token#</p> </li> <li> <p>其中${WORKSPACE}/build/为ipa的输出路径,#API Token#为fir.im的API Token。</p> </li> </ul> <p>或者直接使用插件添加该步骤</p> <p style="text-align:center"><img src="https://simg.open-open.com/show/85f6a98c3c2dce5e11d1a3389a528380.jpg"></p> <p style="text-align:center"><img src="https://simg.open-open.com/show/06766ef5aff4a16f52377b105256ea87.png"></p> <p><strong>3.6 完成,点击保存</strong></p> <h3><strong>4.点击立即构建</strong></h3> <p style="text-align: center;"><img src="https://simg.open-open.com/show/05798cc6abbd064ec2bba3a07a3cf599.png"></p> <p> </p> <p>来自:http://www.cocoachina.com/ios/20161214/18349.html</p> <p> </p>