一、简述
- Jenkins 是一个开源项目,提供了一种易于使用的持续集成系统,使开发者从繁杂的集成中解脱出来,专注于更为重要的业务逻辑实现上。同时 Jenkins 能实施监控集成中存在的错误,提供详细的日志文件和提醒功能,还能用图表的形式形象地展示项目构建的趋势和稳定性。
Jenkins
本身是用java
语言开发的,所以安装Jenkins
之前,要保证你的电脑有jdk
,如果没有,请到参考《MAC安装JDK及环境变量配置》 ,另外建议git、ant、maven、gradle、groovy等工具也一并安装好,方便与这些构建工具集成。
根据官方定义,Jenkins有以下的用途:
- 构建项目
- 跑测试用例检测bug
- 静态代码检测
- 部署
二、Jenkins的安装
1.1 jenkins.pkg
进入Jenkins的官网 ,然后下载并安装Jenkins
也可以直接点击下载最新版本
1. 点击链接进入官网
2. 点击download
3. 我选择的是Mac OS X下载并安装
4. 点击直接安装即可,在下图中,选择自定义,取消 start at boot as“jenkins”
,一般不需要自启动
1.2 命令行安装
命令行使用 homebrew
安装
1 | $ brew search jenkins |
启动jenkins
$ jenkins
2. 进入页面
安装完成后,会直接跳转到如下界面,如果没有跳转或者跳转失败,可通过执行如下命令 open /Applications/Jenkins/jenkins.war
进入到该界面
如果打开没有反应,启动不了,就在浏览器直接打开:http://localhost:8080/ ,就可以进入到上面界面了。
发现还是打不开, cd进入到jenkins.war包所在目录,执行以下命令:
1 | java -jar jenkins.war --httpPort=8080 |
httpPort指的就是Jenkins所使用的http端口,这里指定8080(默认的就是这个),可根据具体情况来修改。待Jenkins启动后,在浏览器页面输入以下地址:
http://localhost:8080
这个时候可能会报一个错误。如果出现了上面的问题,原因可能是Java环境有问题,重新安装JDK环境即可。
6. 观察图中的路径,将地址中的文件打开,或者打开你的终端,执行cat
命令(注意:该命令仅在安装Jenkins的过程中执行才有效;安装成功后,再在终端中执行是无效的):
7. 然后将我们得到的 password
输入到 Administrator password
中,即可进入如下界面, 选第一个,接着安装一些建议的插件,安装过程中,有的插件可能会安装失败,可以跳过,之后需要对应的插件时,再重新安装即可,具体后面会讲到:
8. 插件安装完成后,可能会卡在如下界面,不会自动跳转,刷新下界面即可:
9. 在刷新后的界面中注册,输入用户名和密码,如下:
10. 注册成功后,点击”Start using Jenkins”
三、Jenkins的使用
安装常用插件
- Xcode
- Keychains and provisioning profiles management
- Git Plugin
- Xcode integration
….
如下图,进行管理:
项目实战
1.新建一个自由风格的软件项目
2.配置git地址
立即构建下,提示构建成功
那么构建后的项目在哪里呢?
通过系统管理->系统设置->主目录 点击高级,可以查看到
在jenkins的workspace目录中,可以看到构建的项目
编译配置(很关键)
上面虽然编译成功了,但是你发现根本没有看到ipa文件,所以还需要进行下面的配置:增加构建步骤
这就用到我们上面安装的Xcode插件了
Xcode插件配置
配置完成,点击立即构建,查看ipa所在的路径
OK,一个简单的打包就完成了。
结合FastLane
配置好Git,在 增加构建步骤
的时候,选择脚本
添加 shell 命令:
我这里做了三步,1.cd 到项目路径 2,执行fastlane 打包 3,发送qq邮件
其他
卸载
Jenkins的安装方式不同(Mac 安装 Jenkins),卸载方法也不同
一.通过安装包安装的卸载方式
方法1:打开终端,执行命令 /Library/Application Support/Jenkins/Uninstall.command
方法2:Finder 前往文件夹:
/Library/Application Support/Jenkins
,双击Uninstall.command
二.通过 Homebrew 安装的卸载方式
- 打开终端
brew uninstall jenkins
完成之后再次打开http://localhost:8080 访问不了,说明卸载成功
#
Jenkins做的操作其实很简单,它只是将我们平时做的每一步重复的操作自动化了而已。因此,iOS中Jenkins要做的分为以下几步:
- 拉取远端代码
- 由于某种条件触发后开始自动编译,打包
- 将生成的ipa文件上传到指定位置,供测试下载测试
这三步中,每一步Jenkins什么都没做,它只是调用了Mac中的一些工具,具体的说就是使用了命令行工具。有的做成了可视化的插件,有的还是要通过自己写命令来实现。典型的就是编译和打包的命令是调用xcodebuild命令。
也就是说我们可以也可以结合 Fastlane
来打包,简化 Jenkins
的操作和需要安装的插件。