随着项目的迭代速度不断加快,原始的使用xcode -> product -> archive 的方式已经不能满足迭代需要。还要现在已经有比较成熟的 Jenkins + 蒲公英持续集成方案。最近学习研究学了下这个方案。林林总总,遇到许多坑也学习到很多 。这里把直接把正确的方向分享记录下来 。方便下次再配置环境的时候可以一步到位,直取敌首。
如果从官网下载安装jenkins的apk包,会默认安装的 /Users/Shared/jenkins 目录下。安装在这个目录下我们使用 jenkins账户访问主账户资源的时候会遇到各种权限问题,我遇到的就是:在jenkins配置页面执行shell脚本的时候提示 permission denied,原因可能是jenkins安装在这个目录下无权访问主账户的某些文件 。 个人也尝试了网上大部分的通过命令行修改jenkins用户组的方法,效果并不理想(也可能是我操作方式不对 )。 如果能把jenkins安装在主账户的某个目录下不就是可以解决这个问题了么,从这个角度出发,于是有了下面一种比较好的解决方法 。
通过homebrew安装而不是apk包 。首先你要安装homebrew 。
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
然后 brew install jenkins 。 安装完成之后执行 war包 (需要java运行环境)。
java -jar /usr/local/Cellar/jenkins/你的jenkins版本号/libexec/jenkins.war --httpPort=8080
完成之后不要着急打开web browse 输入 localhost:8080 。
在这之前先修改下 jenkins的配置文件 。org.jenkins-ci.plist
open /Library/LaunchDaemons
用 sublime打开 org.jenkins-ci.plist文件 。打开之后是下面这个样子 。
上图中 全中的位置就是你的JENKINS_HOME 的位置。
然后 sudo launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist 启动jenkins 。如果不行,正所谓重启破万法 ,重启下电脑 。
打开浏览器 输入 localhost:8080 就会进入jenkens的主页面 。第一次会让你输入一个账号密码之类的, 其中有个默认的管理员密码在 jenkens 的secret ,这个默认打不开的,可以拷贝出来,然后找到里面一个 inititalPassword的文件复制初始密码 。登录之后就可以创建自己的账号了 。
创建好之后创建一个自由风格的任务 。进入到配置页面,源码管理,构建环境,构建触发器等这些可以不用填写 ,其他一些配置可以看需要。主要的就是 构建 ->执行shell 脚本 。
把shell脚本和配置文件放到项目的根目录下 。 执行shell 脚本的框框里执行 。
# 进入项目根目录下
cd 项目的根目录下
sh shell.sh
保存之后点击构建就可以了 。至于如何编译打包还有上传蒲公英这些操作都在脚本里了,编译打包使用的是xcbuild 因此打包时xcode中证书等需要配置好。 其中 exportAppstore 和 exportTest 两个plist文件是打包的配置文件 ,根据需要选择对应的就可以 ,plist中具体如何配置,其实可以先用xcode打包到处一份 xcarchivie 文件,里面会有详细的配置,比照里面的plist配置照葫芦画瓢就行 。
脚本地址: https://github.com/zh-ios/ZHProject.git 。
至此打包上传不再麻烦 。
参考:
https://www.jianshu.com/p/dc6f3fea7aa9
https://blog.csdn.net/u013602835/article/details/79790020
来源:oschina
链接:https://my.oschina.net/u/2604520/blog/1840998