iOS Jenkins 自动化打包构建

iOS Jenkins 自动化打包构建,第1张

概述  前言 在测试app项目过程中,通常都是需要开发打测试包给到测试,但是无论是iOS还是Android的打包过程都是相当漫长的,频繁的回归测试需要频繁的打包,对于开发同学影响还是蛮大的。因此在这种情况下,开发通常都会搭建一个简单的自动化打包平台(Jenkins),自动化构建打包或者上传到蒲公英,firm等分发平台。作为测试也需要了解相关的知识,因为这些工作也有可能测试来做或推动开发去做相关的工作,

 

前言

在测试app项目过程中,通常都是需要开发打测试包给到测试,但是无论是iOS还是AndroID的打包过程都是相当漫长的,频繁的回归测试需要频繁的打包,对于开发同学影响还是蛮大的。因此在这种情况下,开发通常都会搭建一个简单的自动化打包平台(Jenkins),自动化构建打包或者上传到蒲公英,firm等分发平台。作为测试也需要了解相关的知识,因为这些工作也有可能测试来做或推动开发去做相关的工作,用以优化提高开发测试效率。

 

涉及技术点:

Jenkins的搭建配置,任务构建 iOS开发环境配置 iOS打包(证书配置) iOS命令行打包xcodebuild的使用 xcode打包介绍 准备工作

如果不打包,直接在测试机上跑app是不需要证书和描述文件的。只要有Apple ID就是可以的,它可以自动生成描述文件,然后让app运行到测试机上。

如果是需要打包分发的话,就是必须要有证书和描述文件。

@H_404_100@ 

证书有两种,一种是开发证书,一种是上线证书,当然测试只需要拿到开发证书就可以了,大部分情况下上线工作是不需要测试来做的(涉及到一些开发者账号等东西)。

如果我们需要本地打包的话那么就需要跟开发要两样东西:

开发证书 描述文件

 

开发证书拿到之后双击打开就好,可以在钥匙串中看到安装好的证书。

描述文件需要单独保存一下,一些配置可能用到,Xcode配置中需要导入。

代码权限,跟开发拿到代码权限,git clone到本地。

Xcode使用

Xcode是iOS开发IDE,使用的时候需要跟开发同步使用的版本,有些开发是一直用最新版的,有的可能用的是老版本,会有问题。

检查本地环境及代码

使用Xcode打开clone到本地的代码,如果版本什么都对应的话,build应该是没有问题的。

command+b  build项目,查看是否有错误。

或者导航栏:product → Build


 

如果没什么问题,可以编译build成功就OK了。

模拟器运行

如果只是模拟器运行是不需要配置证书描述文件的,选择模拟器类型,直接运行就好了。


 

真机运行

真机运行有两种方式:

一种是不需要证书描述文件但是需要一个appleID账号密码 一种是需要证书描述文件导出.ipa包

 

第一种方式的话只能手机通过USB链接到电脑上,然后运行项目在手机上安装app

@H_26_403@@H_263_404@第二种方式的话是可以导出ipa文件传输到手机上安装

 

第一种方式:

可以通过导航栏Xcode → Preferences → Accounts 添加apple账号


在项目中配置(target→  sanjIEke),有个automatically manage signing,勾选了后选择apple账号就会自动生成配置描述文件

@H_806_502@@H_806_502@


 

如果有错误看下错误说明,然后调整下配置,一般的错误就是

buddle ID的问题

iOS版本的问题

调整下就没什么问题了。

 

第二种方式,真机打包

如果是导出包安装测试的话,还需要在开发者中心把测试机的udID加入到里面,这个给到开发就好了

安装好了证书,拿到了描述文件,在项目中配置

还是上图红框的内容,不要点击automatically manage signing了,点击provisioning profile,选择import profile,将描述文件导入就可以了。

 

然后在模拟器那个位置选择Generic iOS Device

导航栏 Product → Archive 

按照提示一步步选择就好了,最后会在你选择的路径下生成需要的ipa 包。

xcodebuild命令介绍

 

如果不想手动 *** 作打包,还可以使用命令打包

 

xcodebuild基础命令 xcodebuild -usage          查看xcodebuild用法 xcodebuild -showsdks   查看安装的sdk xcodebuild -List               查看项目中的target(目标项目),configuration(打包环境deBUG,release)和schemes(项目名),这三个参数也是后续打包需要用到的 xcodebuild        构建生成archive文件 archive -archivePath <archivePath> -project <projectname> -scheme <schemename> #从-List命令中获取 -configuration < DeBUG|Release> -sdk <sdkname> #sdkname可从showsdks命令中获取 xcodebuild       将archive文件导出为ipa文件 -exportArchive -archivePath <xcarchivepath> -exportPath <destinationpath> -exportoptionsplist <pListpath>#这个pList文件可以通过打一次ipa包里面去获取,然后根据需求修改

 

xcodebuild命令实际应用

从基础命令来看用的最多的就是4和5,实际上命令行导出ipa文件有两种方式

一种方式是先将项目构建成.app文件,通过xcodebuild build,然后使用xcun 将app文件导出生成ipa,但是目前新版本的不支持这种方式了,一般用2 另外一种方式就是先构建生成.xcarchive文件,然后导出生成.ipa文件

 

注意一点的是,pList文件我们可以通过用Xcode打包一次获得,然后根据需要修改,也可以参数化,内容如下:

<?xml version="1.0" enCoding="UTF-8"?> <!DOCTYPE pList PUBliC "-//Apple//DTD PList 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <pList version="1.0"> <dict>          <key>compileBitcode</key>          <true/>          <key>destination</key>          <string>export</string>          <key>method</key>          <string>development</string>          <key>provisioningProfiles</key>          <dict>                   <key>com.sanjIEke.app</key>                   <string>com.sanjIEke.appDevelop</string>         </dict>         <key>signingCertificate</key>         <string>iPhone Developer</string>         <key>signingStyle</key>         <string>manual</string>         <key>stripSwiftSymbols</key>         <true/>         <key>teamID</key>         <string>V5LUS4979S</string>         <key>thinning</key>         <string>&lt;none&gt;</string> </dict> </pList>

xcodebuild打包脚本

知道了如何用命令行进行打包后,我们可以自己写个简单的脚本来进行打包,然后集成到Jenkins的话直接执行脚本,不使用Jenkins提供的Xcode插件,更加方便。

总结

以上是内存溢出为你收集整理的iOS Jenkins 自动化打包构建全部内容,希望文章能够帮你解决iOS Jenkins 自动化打包构建所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1018688.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存