总结下Jenkins在Mac电脑上自动化打包Android应用遇到的一些小问题
最深刻的一点就是,Jenkins安装完成后,其实你电脑会自动添加一个Jenkins用户,目录在/Users/Shared/Jenkins下,你接下来遇到的绝大多数问题无非是该用户无权限访问你本机的Android sdk啊,你本机用户无法去查看Jenkins用户下的文件之类的。所以这次我玩的姿势是在命令行直接切换成root用户 命令行输入 sudo su root以及密码,省去无权限问题。另外根据你在玩的实际情况,改变你要访问路径的权限即可,暴力虽不优雅chmod 777 (your file or dir)。ls -al 可以查看当前目录下所有文件 包括隐藏文件以及这些文件所对应用户的权限,防身技能要记住。记住以上几点我们就来开始装逼之旅。
三步走
1.git配置好,把代码拉下来。(Jenkins配置Java路径等所有配置路径问题基本都是用户权限问题,不多概述,当然前提你路径得写对)
2.Use Gradle Wrapper构建项目(问题最多)
3.配置fir来上传应用
问题总结
mac用户在安装好Jenkins遇到的第一个错误就是文件夹中文件权限问题。你以你本机用户去访问Jenkins用户目录下是没有读写权限的。下面就是你要的answer。意思就是说该目录你以原来mac默认创建的用户是没有权限去查看的,你必须添加mac下自己的用户并开放读写权限。good luck!
/Users/Shared/Jenkins/Home/secrets/initialAdminPassword
https://stackoverflow.com/questions/37146063/how-do-i-get-initial-admin-password-for-jenkins-on-macgit ssh登陆老报错。(https的直接跳)
cd /Users/smallstrong/.ssh (smallstrong是我用户名不是你的这目录如果没有自己先去ssh生成吧不多说了)里面是你ssh的公钥私钥,把里面所有文件复制到/Users/Shared/Jenkins/.ssh目录下,在你配置源码管理的时候我的用户名字是Jenkins然后ssh选择 From the Jenkins master ~/.ssh即可。如果你在构建环节选择Use Gradle Wrapper,那么他会自动去下载你依赖的gradle包,速度之慢欲仙欲死。我是直接把本地的/Users/smallstrong/.gradle/wrapper/dists/目录下我干两年Android来下的所有gradle,哈哈啥版本都有直接copy。把要下载的gradle版本copy到/Users/Shared/Jenkins/Home/workspace/Android/wrapper/dists(其中我的项目名字叫Android)目录下即可。
4.有些时候我们git上没有local.properties文件,会报找不到sdk目录问题。在里面我路径是这样子的ndk.dir=/Users/smallstrong/Library/Android/sdk/ndk-bundle
sdk.dir=/Users/smallstrong/Library/Android/sdk,记住改变该目录以及上级上上级目录的访问权限,不然这货读取不到又报错。
5.当你进入到这一步的时候,往下走就是正常的gradle编译打包过程,我们签名key不放在服务器所以我本地copy一份放在了根目录,你们的我不知道。根据报错玩吧。
任何意想不到的问题欢迎留言,我刚弄完还算熟,兴许会给你带来帮助。
因为之前在Google云服务上已经折腾过一回且试用将近一月稳定高效,所以这次在本机mac上做这件事感觉在捏菜(因为本机电脑命令行敲起来不卡贼快,配ssh登陆服务器做这些事情,不说了先哭一会儿)。现在的我即将踏上Python后端取经之路,跨端玩想想都刺激。