[原创]Jenkins+gradle+Git实现Android 自动打包持续集成过程中遇到的问题

在这之前我在谈谈ant 打包....
因为项目现在还是eclipse.......
真的很想哭.....
实在是太坑了......
各种问题,要配置几百行不说.
网上的项目是都是单项目的,没有引用library的.
或者单项目引用一个library
或者单项目引用几个library,但是这几个library没有相互依赖....
可是我们的项目是一个单项目引用了6个library,而且这6个library是相互依赖的....B依赖A ,C依赖A,B ,D依赖 AC .......
这实在是很难搞.....拿到问题去咨询了朋友,被朋友数落了一顿.问为什么不用gradle,还要用ant这种过时的东西,文档少不说,而且都过时,已经被淘汰了.....


image.png

image.png

所以把情况和经理说明了,然后就开始研究gradle +Jenkins了.

这里就不说过程了,只谈遇到的问题

1.密码问题,初步安装的时候生成的密码是随机密码,只能去Jenkins的公用目录去查看该文件才能登录,默认的是admin,记得安装之后去管理中心修改密码.

2.gradle问题,这里犯了一个非常严重的问题,在配置gradle的时候,要选择本地的gradle目录.这里我使用的gradle版本是4.1,我想到Android Studio 的默认APP 里面就有一个,我就把路径指向那里,但是发现不行,编译报错,由于我又拷贝出来,还是不行.反正就是各种错,各种权限的错.直到我去官网下载了一个gradle 4.1 -all ....所以不要懒,一定要去下载完整版的gradle版本,不要使用Android studio自带的.之前的各种权限错,不能运行的错,我怀疑全部是这个问题.在这个问题上卡了几个小时,才晚上9点--到半夜1点基本都在解决这个问题.就是由于这里配置错了.


image.png

3.紧接着上面的问题,开始不知道是如上的问题,我以为是本地gradle的权限不能操作 工作空间生成的项目,就是我打包的项目的路径的这个文件夹,所以我很傻逼的去改这个Jenkins生成的目录的权限,反正就乱改,直到后来打包成功之后,一样继续报错,但是不是报的以上的错,是报的不能删除某个打包出来的build目录下的部分文件等等,后来的解决方案是删除了那个Jenkins工作空间的项目目录,重新让Jenkins去拉取项目,生成该目录,问题解决......
其实Jenkins可以自定义项目的目录,如果我们怀疑Jenkins工作空间的权限问题,可以不把项目的目录放在Jenkins的工作空间,放到其他地方,应该能更好的解决和定位问题.

4.在构建的选项卡这里一定要勾选这个,不要问为什么,因为不勾选是打包不成功的.


image.png

5.Task 配置,使用如下配置即可,不要使用其他默认奇妙的task


image.png

5.当我以为上面问题解决之后,其他都不是问题了.当我配置邮件系统的时候,吗的还有坑.
配置好邮件的各种参数之后,点击TEST直接提示:unable to find valid certification path to requested target
经过百度,发现是证书问题,那好吧,有问题就解决问题.
连接如下:
http://blog.csdn.net/jiang1986829/article/details/50955359
解决的步骤大约是:
1.使用java c 编译这个文件.
2.运行编译之后的才class文件.
3.输入账号和密码,获取到证书.
4.找到class文件该目录的jssecacerts文件
5.最最关键的一个步骤,来看看下图.

image.png

6.恩,好,那我找找Jenkins的安装目录
PS:我找你吗个鸡,我的Jenkins 是安装版本的,在Jenkins官网下载的mac os 版本,不是那种要放到Tomcat 下面的那种,我能找到的只有一个Jenkins的war 包,我心想肯定要解压这个war包,打开之后看看有没有那个目录呢,我就解压了war包,没有,真的没有那个目录.我很无语,紧接着找了很多路径,死都找不到Jenkins的安装目录.直到我看到了如下的教程
image.png

当时我的心情是这样的.
image.png

把证书放到JDK目录,重启Tomcat即可,怎么重启呢,来看看

7.怎么重启Jenkins呢,我百度了一下,在地址栏输入如下图


image.png

点击try posting ,又是错,有报错.......SHIT
最开始也是报了一个莫名起码的错误,反正就是Jenkins的配置有误,是我在更改密码之后,刷新页面之后就开始报错,反正就是各种错,怎么都解决不了,直到我
在任务管理器中,关闭Jenkins的java 进程,再次访问localhost:8080,Jenkins网页自动重启........世界从此清净了.


image.png

除了在地址栏输入exit ,还有其他命令重启什么的.....试过的结果就是........都没有任何卵用....

以上基本是我能记到的问题,现在回过头来看,也不过如此,不过就这些问题,让我从晚上的9点搞到凌晨的3点过,才把问题解决了........直到打包成功.......

你可能感兴趣的:([原创]Jenkins+gradle+Git实现Android 自动打包持续集成过程中遇到的问题)