Jenkins+Xcode实现自动打包 下

1、安装Homebrew,Homebrew 是Mac系统的包管理器,用于安装一些其他必需的工具软件,比如NodeJS,Jenkins等。已经安装的请略过。

本文使用的Homebrew 1.3.5,使用命令$ brew –version查看。

2、安装Jenkins,

在终端执行

$ brew install Jenkins

Jenkins需要Java环境,请确保已经集成Java环境,安装不成功请移步百度。

《Jenkins+Xcode实现自动打包 下》 安装Jenkins

安装成功之后切换到Jenkins目录,启动

$ cd /usr/local/Cellar/jenkins/2.84/libexec

$  java -jar ./jenkins.war     (也可以使用$ jenkins进行启动,前者可以设置端口号$ java -jar jenkins.war –httpPort=8888 )

控制台会打印一些内容

《Jenkins+Xcode实现自动打包 下》 控制台 启动Jenkins

上图红线上方有一句话 ,

Please use the following password to proceed to installation:

因此打开http://localhost:8080,输入密码继续安装。

《Jenkins+Xcode实现自动打包 下》 打开http://localhost:8080,输入密码

选择install selected plugins之后

《Jenkins+Xcode实现自动打包 下》 选择install plugins之后

安装成功之后会让你注册

《Jenkins+Xcode实现自动打包 下》 注册Jenkins

注册成功之后

《Jenkins+Xcode实现自动打包 下》 注册成功

跳转下图所示界面

《Jenkins+Xcode实现自动打包 下》 安装启动到此为止

或者直接使用$ jenkins启动,出现下图说明启动成功

《Jenkins+Xcode实现自动打包 下》 启动成功

3、配置Jenkins

①安装需要用到的插件

系统管理->插件管理->可选插件  搜索Git plugin、GitHub Organization Folder PluginXcode integrationKeychains and Provisioning Profiles Management安装

以上分别是Git插件,Xcode插件,证书管理插件,还可以根据需要安装命令行插件。

安装成功之后重启Jenkins。

②配置证书

系统管理-> Keychains and Provisioning Provisioning Management

打开/Users/{用户名}/Library/Keychains/目录选择login.keychain文件点击upload

Code Signing Identity :配置打包要用的证书。

Provisioning Profiles Directory Path:/Users/{用户名}/Library/MobileDevice/Provisioning  Profiles/

点击选择文件,选择Provisioning Profiles Directory Path路径下的文件,upload。会加载上传的provisioningprofile文件

《Jenkins+Xcode实现自动打包 下》 配置钥匙串与Provisioning  Profiles

③系统设置

系统管理->系统设置->Xcode builder

《Jenkins+Xcode实现自动打包 下》 系统设置

④新建项目

回到首页,选择新建,创建一个自由风格的软件

《Jenkins+Xcode实现自动打包 下》 新建项目

⑤配置项目

填写项目名称

《Jenkins+Xcode实现自动打包 下》 填写项目名称与地址

源码管理

Repository URL :仓库地址

Credentials: 选择高级 设置好Git的账户密码之后,这里选择设置好的账号密码。

Branches to build:默认指定主分支

《Jenkins+Xcode实现自动打包 下》 源码管理

构建触发器

Build periodically (定时build):设置每天23点build

Poll SCM (poll source code management)  轮询源码管理

需要设置源码的路径才能起到轮询的效果。一般设置为类似结果: 0/5每5分钟轮询一次

《Jenkins+Xcode实现自动打包 下》 构建触发器

构建

《Jenkins+Xcode实现自动打包 下》 选择Xcode构建
《Jenkins+Xcode实现自动打包 下》 基本配置
《Jenkins+Xcode实现自动打包 下》 导出包的格式与位置
《Jenkins+Xcode实现自动打包 下》 钥匙串

使用cocoapods管理项目的需要如下配置

Xcode workspace file:{项目名}.xcworkspace文件位置

《Jenkins+Xcode实现自动打包 下》 cocoapods项目配置

保存之后,选择立即构建,

《Jenkins+Xcode实现自动打包 下》 构建结果
《Jenkins+Xcode实现自动打包 下》 归档成功后生成的文件

哎呀呀,失败了,点进去查看下日志。

“Error Domain=IDEProvisioningErrorDomain Code=9 \”\”Test8.app\” requires a provisioning profile.\” UserInfo={NSLocalizedDescription=\”Test8.app\” requires a provisioning profile., NSLocalizedRecoverySuggestion=Add a profile to the \”provisioningProfiles\” dictionary in your Export Options property list.}”

)}

error: exportArchive: “Test8.app” requires a provisioning profile.

Error Domain=IDEProvisioningErrorDomain Code=9 “”Test8.app” requires a provisioning profile.” UserInfo={NSLocalizedDescription=”Test8.app” requires a provisioning profile., NSLocalizedRecoverySuggestion=Add a profile to the “provisioningProfiles” dictionary in your Export Options property list.}

** EXPORT FAILED **

需要在导出plist文件(也就是上图中development86xxxxxPPExport.plist)中添加provisioningProfiles属性。先不要修改plist,因为这个文件是根据我们构建的时候填写的参数自动生成的。

其实这个这个问题是Jenkins版本与Xcode版本不对应造成的。

使用sudo xcode-select -switch /Applications/Xcode8.3.app切换到Xcode8.3,

立即构建->成功啦。

《Jenkins+Xcode实现自动打包 下》 构建成功

那么问题来了,由于swift版本的问题,公司的项目只能在Xcode8.2上运行,其他Xcode构建会失败。

怎么办呢,使用万能的命令行吧,想怎么样就怎么样。不用考虑Jenkins版本问题。

只需要在构建的时候选择Execute shell  自动构建命令

《Jenkins+Xcode实现自动打包 下》 Execute shell

到此,大家赶紧给自己的项目配置下自动打包环境吧。

《Jenkins+Xcode实现自动打包 下》 ad-hoc

修改export method,但是从日志中查看,签名依然使用的开发证书。

是因为Xcode自动管理管理证书,signing certificate 使用的是开发证书,如果需要指定证书打包,那么取消自动管理。

《Jenkins+Xcode实现自动打包 下》 自动管理签名

很有用

还有一个很实用的东西–构建后操作

构建成功后可以邮件通知相关人员,还可以钉钉通知,具体操作请百度。

《Jenkins+Xcode实现自动打包 下》 构建后操作

以上就是全部内容。希望对大家有帮助,写的不对的地方,还请批评指正。

    原文作者:oneday527
    原文地址: https://www.jianshu.com/p/e4758c7a5f00
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞