iOS自动打包

2019-08-09  本文已影响0人  吃人不放盐

目录

一. 打包原理

二. Jenkins自动打包

  1. Jenkins安装与配置
   1.1 安装
   1.2 配置
    1.2.1 打包相关插件
    1.2.2 Keychains配置
    1.2.3 任务配置
  2. 自动上传托管平台
  3. 邮件通知

三. Jenkins权限管理

四. 可能会碰到的一些问题



一.打包原理

xcode正常打包过程是需要编译、归档和导出,这都依赖于自带的工具,所以了解这些工具的使用是很有必要的。

建议先看看APP编译工具链

这里介绍一下xcode最重要的一个工具xcodebuild。

命令名称 描述
-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见下图

keychains.png

这里需要上传login.keychain文件,在新版本的xcode中只有login.keychain-db文件,这边直接拷贝一份出来,去掉右后,然后上传即可。

Password 开机密码
Identities 要配置证书的完整名称
Provisioning Profiles 证书配置文件的路径 (注意用户名要替换掉)

keychains配置.png

1.2.3 开始任务配置

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


job_config.png

以上全部配置完后点保存,便可以开始使用了

最后放一个打包完,自动上传并邮件通知的截图


job_email_result.png

2.自动上传托管平台

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

job_plugin.png

3.邮件通知

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

job_email_0.png
job_email_1.png
job_email_2.png
job_email_3.png

保存 over.

三.Jenkins权限管理

如果需要对不同项目和用户进行权限管理,则需要安装插件Role-based Authorization Strategy

四.可能会碰到的一些问题

1.找不到xcodebuild命令,可能是安装了多个版本的xcode,最后导致指向路径不对,可通过下面进行配置


xcodebuild_0.png

或直接用xcode-select命令去指向

2.Archive成功,export ipa文件时失败,报以下错误:error: exportArchive: The data couldn’t be read because it isn’t in the correct format

参考

  1. xcode编译
  2. ToolChain
  3. xcodebuild命令
  4. iOS-自动化打包方案
  5. 使用jenkins实现xcode自动打包
  6. Xcode 编译工具链
  7. Jenkins针对不同项目组用户权限分配
上一篇下一篇

猜你喜欢

热点阅读