目录
一. 打包原理
二. Jenkins自动打包
1. Jenkins安装与配置
1.1 安装
1.2 配置
1.2.1 打包相关插件
1.2.2 Keychains配置
1.2.3 任务配置
2. 自动上传托管平台
3. 邮件通知
三. Jenkins权限管理
四. 可能会碰到的一些问题
一.打包原理
xcode正常打包过程是需要编译、归档和导出,这都依赖于自带的工具,所以了解这些工具的使用是很有必要的。
这里介绍一下xcode最重要的一个工具xcodebuild。
- xcodebuild 可以通过配置相关参数来编译和导出ipa包
命令名称 | 描述 |
---|---|
-usage | 查看xcodebuild简洁的用法 |
-help | 查看帮助 |
-project | 编译项目名称 |
-target | 编译目标名称 |
-workspace | 工作空间名称 |
-scheme | 编译scheme名称 |
-configuration | 为构建每一个目标使用build配置名称 |
-sdk | 使用指定的SDK编译项目 |
-toolchain | 使用工具链与标识或名称 |
-showsdks | 显示已安装的SDK的列表 |
-list | 列出了在一个工作空间中的一个项目的目标和配置,或方案 |
-archivePath | 归档将被放置的目录 |
-exportArchive | 制定的归档导出路径 |
我们可以用以上命令来走一遍正常的打包流程(此处证书为自动管理)
编译:
xcodebuild -workspace "" -scheme "" -configuration ""
-workspace编译基于 xcworkspace
-scheme 编译工程名
-configuration 编译环境 Debug Release
归档:
xcodebuild -workspace "" -scheme "" -configuration "" -archivePath "" archive
archivePath 归档路径
导出:
xcodebuild -exportArchive -archivePath "" -exportPath "" -exportOptionsPlist ""
exportArchive 声明导出
exportPath 包导出路径
exportOptionsPlist 导出配置
通过以上命令,我们其实可以直接写成脚本来自动化执行(脚本打包),但是如果我们采用jenkins方案来打包,你会发现,其实还可以更简单,更人性化。
二.Jenkins自动打包
1.Jenkins安装与配置
1.1 安装
homebrew是osx系统自带的软件管理工具,我们可以通过它在终端直接安装。
安装命令:
brew install Jenkins
启动命令:
jenkins
注意启动后终端窗口不要关闭,否则jenkins服务会停止。
如果一切顺利,打开浏览器输入:http://localhost:8080/
在打开jenkins的时候,会让你输入在安装的时候生成的password, 如果没有保存就根据提示到对应文件下拷贝,完成之后开始安装对应插件,建议推荐的插件都安装(有些关联功能需要,如邮箱)。
之后便是开始创建用户
注册成功后,我们还需要对Jenkins做一系列的相关配置。
1.2 配置
1.2.1 打包相关插件
Keychains and Provisioning Profiles Management (本地keychain和iOS证书管理)
Xcode integration (用于xcode构建)
打开Jenkins管理->插件管理,搜索对应插件下载安装即可.
网上提供有两种安装方式:
方案一:选择搜索插件名,勾选安装
方案二:去Jenkins-plug官网下载插件,然后选高级,上传.hpi文件.
1.2.2 Keychains配置
打开Jenkins管理->配置文件管理
这里需要上传login.keychain文件,该文件获取方法,在终端中输入
cd ~/Library/Keychains
键入ls见下图

这里需要上传login.keychain文件,在新版本的xcode中只有login.keychain-db文件,这边直接拷贝一份出来,去掉右后,然后上传即可。
Password 开机密码
Identities 要配置证书的完整名称
Provisioning Profiles 证书配置文件的路径 (注意用户名要替换掉)

1.2.3 开始任务配置
上面的所有配置完成后,我们就可以新建任务了,选自由风格任务,就会有如下6项相关配置:

- General 主要配置一些构建版本的相关策略
- 源码管理 主要是管理代码源,可选git或svn,需要相关配置
- 构建触发器 配置版本构建的触发策略
- 构建环境 配置Keychains
- 构建 配置打包环境、包名、输出路径
- 构建后操作 配置构建成功后的处理(这里需要先去配置上传托管平台、邮件)
job_config_0.png
job_config_1.png
job_config_2.png
job_config_3.png
job_config_4_0.png
job_config_4_1.png
job_config_4_2.png
job_config_5_0.png
job_config_5_1.png
job_config_5_2.png
以上全部配置完后点保存,便可以开始使用了
最后放一个打包完,自动上传并邮件通知的截图

2.自动上传托管平台
首先需要安装对应托管平台的插件,我们平常用的fir和pgyer官网上都有对应的Jenkins插件,
下载对应的插件,然后到Jenkins管理->插件管理->高级 上传插件即可.
上传后可在任务配置中选择要上传的平台。

3.邮件通知
首先我们到Jenkins管理->系统配置,在下面可以配置相关的邮件地址和内容




保存 over.
三.Jenkins权限管理
如果需要对不同项目和用户进行权限管理,则需要安装插件Role-based Authorization Strategy
四.可能会碰到的一些问题
1.找不到xcodebuild命令,可能是安装了多个版本的xcode,最后导致指向路径不对,可通过下面进行配置

或直接用xcode-select命令去指向
- xcode-select -p 查看xcode指向路径
- xcode-select -s 切换指定的路径
2.Archive成功,export ipa文件时失败,报以下错误:error: exportArchive: The data couldn’t be read because it isn’t in the correct format
- jenkins在导出包的时候,好像不支持bitcode,这里需要在jenkins配置,构建里边取消bitcode(有知道不用的取消的还请告知)。
参考
网友评论