iOS-Mac--利用Jenkins+fastlane+fir实
2019-11-22 本文已影响0人
Hedgehog___
前言
在日常的开发工作中给测试同学打包测试是很正常的流程,但是每次都通过Xcode archive来生成测试包然后再导出,然后在上传到三方测试网站(蒲公英、fir等),一次两次感觉没有什么。但是一次次重新打包,之后就是全部重复无意义的工作,就会感觉很烦了,于是我想到了用自动化打包来说实现这个工作。
Jenkins是什么?
Jenkins是一个功能强大的应用程序,允许持续集成和持续交付项目,无论用的是什么平台。这是一个免费的源代码,可以处理任何类型的构建或持续集成。集成Jenkins可以用于一些测试和部署技术。
1、在macOS上安装Jenkins
在Jenkins官网下载Jenkins安装包。
![](https://img.haomeiwen.com/i2418756/2e5aa86976b8f262.png)
![](https://img.haomeiwen.com/i2418756/ff9fc5b5e02df8af.png)
按照提示安装成功会自动在浏览器打开http://localhost:8080。(如果提示无法连接服务器或者没有自动打开很有可能是java jdk的版本和Jenkins的版本不对应,也可以通过这里进行安装
)。
没有启动成功的话运行下面代码手动启动:
brew services start jenkins
![](https://img.haomeiwen.com/i2418756/3bf439d4ea94f675.png)
打开Finder前往文件夹
![](https://img.haomeiwen.com/i2418756/1289ae175b438a01.png)
secrets文件夹和initialAdminPassword文件都有权限访问问题,收到手动设置这两个文件everyone读和写然后打开initialAdminPassword文件复制里面密码到该页面点击继续。
也可执行此代码获取密码
sudo cat /Users/Shared/Jenkins/Home/secrets/initialAdminPassword
设置用户名密码继续。(There were errors checking the update sites: SSLHandshakeException: sun.secu)
![](https://img.haomeiwen.com/i2418756/0203134e07cc5135.png)
接下来就可以看到Jenkins首页了:
![](https://img.haomeiwen.com/i2418756/f5d31b76433f36c1.png)
安装nodejs插件:
![](https://img.haomeiwen.com/i2418756/3efc002e2479deca.png)
![](https://img.haomeiwen.com/i2418756/0ee86728070f8635.png)
![](https://img.haomeiwen.com/i2418756/99d753b3ecc34e94.png)
到此为止Jenkins安装就已经完成了。
2、构建一个本地版本的项目
如上面Jenkins首页所示点击新建item创建一个项目:
![](https://img.haomeiwen.com/i2418756/6e1fd737d05226d2.png)
如上图所示构建一个项目。
构建本地包的话不需要配置远程仓库相关,直接去构建一个shell程序即可:
![](https://img.haomeiwen.com/i2418756/1790d922599ea159.png)
![](https://img.haomeiwen.com/i2418756/cf0e3802e0191223.png)
![](https://img.haomeiwen.com/i2418756/cf5adf8ee0364f62.png)
#!/bin/bash
export LC_ALL=en_US.UTF-8
cd 你的项目路径
fastlane test
这里是分别说一下各个语句的作用:
1)#!/bin/bash
是设置日志内存相关不加这个有可能导致构建失败。
2)export LC_ALL=en_US.UTF-8
设置编码格式相关报invalid byte sequence in US-ASCII错误的时候可以加上。
3)剩下的两个就是利用fastlane自动打包上传的代码这个可以参考我的另一篇文章https://www.jianshu.com/p/0eda1c3b5445。
最后点击应用保存返回到主页。点击开始打包
![](https://img.haomeiwen.com/i2418756/4de286d1aca8d883.png)
可以点击这里查看控制台输出:
![](https://img.haomeiwen.com/i2418756/a75d42e2de0de323.png)
最后给自己电脑分配一个静态ip、同一个局域网的同事们就可以通过这个ip访问你的主机进行打包啦,这样就省去了每次都需要开发人员手动操作的过程。
- 下载fir插件http://blog.fir.im/jenkins/
遇到的问题
-
scheme shared
image.png
这里去你的项目里面-edit scheme--> manage scheme :
image.png
把share勾选上即可。
重启Jenkins服务:
sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist
java -jar /Applications/Jenkins/jenkins.war --httpPort=8080
- Operation not permitted
在执行shell脚本的时候出现Operation not permitted
从而不能正常打包的问题,需要关闭MACSIP
服务参考这里关闭。