IOS---Jenkins 自动打包测试(未使用cocoapod
一、安装Jenkins
1、安装Jenkins之前,先安装homebrew。
安装Homebrew,直接去官网:http://brew.sh/index_zh-cn.html。
方法:将官网中的命令复制到终端回车执行,然后输入开机密码,出现installation successful 这句话表示homebrew安装成功。在安装时可能因为权限问题会报错,百度报错关键字,找到相应的命令行执行。(记录安装ruby命令:brew install ruby。)。
2、安装至少java1.8 ,如果没有安装会有提示,java安装地址。
3、安装jenkins命令:
brew install jenkins。 (使用命令行安装Jenkins不用管理权限问题,如果从官网下载pkg或者dmg,会有权限问题)。
4、安装完毕后,启动Jenkins:
jenkins。
5、在浏览器输入:http://localhost:8080/,能看到jenkins启动起来了。
6、打开Jenkins后会让去一个填写password的页面如下图,存储password的地方就是图片上那行红色字体目录下,使用终端 cat + 红色字体路径就看到了:

也可以在终端里面找到密码。
将得到的password输入到“Administrator password“中,即可进入如下界面,接着安装一些建议的插件(左边的),插件安装完成后,可能会卡在如下界面,不会自动跳转,刷新下界面即可


在刷新后的界面中注册,输入用户名和密码,建议输入后点蓝色按钮保存完成,如下:

注册成功后,点击”Start using Jenkins”

二、Jenkins使用
1、安装插件
Keychains and Provisioning Profiles Management(管理本地的keychain和iOS证书的插件)
Xcode integration (用于xcode构建)
打开系统管理,管理插件详见图

安装方式:
方案一:在可选中搜索插件名 ,勾选安装。若安装报错(参照安装Jenkins时不能联网安装插件问题解决),如果还不行,直接进入方案二。
方案二:去Jenkins-plug官网下载插件,然后选择高级tab,上传.hpi文件

2、配置Keychains and Provisioning Profiles Management
接下来配置Keychains and Provisioning Profiles Management,根据顺序选择首页>系统管理>Keychains and Provisioning Profiles Management如图

需要上传login.keychain文件,该文件获取方法,在终端中输入

将login.keychain文件upload之后,会出现下图的界面,根据需要将证书添加进去即可,但是由于macOS10.12以及以后的系统里面没有login.keychain文件,只有login.keychain-db,可以复制出来删除-db,也可以创建一个快捷方式名字叫做login.keychain,upload就好了。(上传keychain,路径用自己改名后的那个)

然后添加Provisioning Profiles,上传方法和上传login.keychain一样,去选择Provisioning Profiles文件,然后upload,然后结果如下图,固定格式的/Users/用户名/Library/MobileDevice/Provisioning Profiles

3、开始配置任务
先新建任务


建好任务之后点击配置。
General
创建一个自由风格的任务,然后在选择丢弃旧的构建,至于天数和保持的最大个数,按照自己的需求来就好,如图

源码管理
接下来是源码管理,在Repository URL里面添加你的git地址,我这里添加的是http的,如果你的项目是使用的ssh的,那么就将git开头的地址填写上,然后店家Add添加你的git帐号,如果你的事ssh的,将ssh的密匙填写上,具体的自己百度一下就好咯,我就不多写了,结果如图

使用svn管理代码

构建触发器
接下来是构建触发器,也就是什么时候触发自动打包我这里填写的是H 20 * * 这个意思就是H小时然后,后面跟着数字,在后面就是日月年,代表的我认为是每次都触发,也就是每天每月每年,但是Jenkins的时间不是绝对的,一般都是在随机在半点,也就是设置20点,大概会在20:30分左右会触发,如果需要两个时间,那么格式可以这样H 20,22 * * *结果如图

构建环境
在构建环境里面勾选Keychains and Code Signing Identities和Mobile Provisioning Profiles,Keychains and Code Signing Identities是打包需要的证书,Mobile Provisioning Profiles是打包需要的配置文件,都是可以自己选择的。

构建
因为Jenkins对现在的Xcode9插件兼容性不好,打不了包,所以我们使用了xcodebuild打包,下面是未使用cocoapods的脚本。

构建后操作
邮箱通知
到这里,其实你就已经打包成功了,但是打包成功后是不是我们需要通知一些人呢?Jenkins是有邮件通知的。
现在开始设置,首先你已经安装了插件Email Extension Plugin,这个在插件那里直接安装就好这是第一步;
然后进入系统管理->系统设置找到Jenkins Location模块,在系统管理员邮件地址填写你的系统管理邮箱,这个邮箱是你发送通知邮件的邮箱,然后找到Extended E-mail Notification模块




然后找到构建后操作,点击增加构建后的操作步骤点击Editable Email Notification,在Project From里面写上管理者邮箱,也就是发送邮件的邮箱,然后点击Advanced Setting;
里面有三个选项,分别是你在系统设置里面勾选的那几个,根据需求填写就好,我这里填写的是Always,也就是无论构建成功还是失败,Recipient List是接收者的邮箱,这里多个邮箱用英文逗号隔开——’,’。


在添加邮箱通知成功后,Jenkins的使用就结束了。
jenkins 卸载
用pgk或dmg安装jenkins,使用Jenkins自带Uninstall.command来卸载
/Library/Application Support/Jenkins/Uninstall.command
双击运行卸载脚本。
用war安装的卸载:
brew uninstall jenkins
卸载所用版本jenkins:
brew uninstall --force jenkins
描述文件路径:
/Users/用户名/Library/MobileDevice/Provisioning Profiles
本文参考了Alanxx的Jenkins配置简书文章,地址:https://www.jianshu.com/p/3668979476ad。此文章只做笔记参考。