Skip to content

Latest commit

 

History

History
135 lines (81 loc) · 8.57 KB

使用Jenkins实现自动化打包.md

File metadata and controls

135 lines (81 loc) · 8.57 KB

使用Jenkins实现自动化打包

Jenkins个开源的持续集成工具,不仅可以用来进行Android打包,也可以用来进行iOS打包、NodeJs打包、Java服务打包等。

The leading open source automation server, Jenkins provides hundreds of plugins to support building, deploying and automating any project.

Jenkins是使用Java开发的,官方提供一个war包,并且自带servlet容器,可以独立运行也可以放在Tomcat中运行。当然它也提供了mac等客户端,可以直接下载。 因为一般我们都是将其部署到服务器上,所以这里就用下载jenkins.war放到Tomcat的方式来讲解。

安装Tomcat

Tomcat官网下载最新的安装包,安装完成后启动tomcat.

安装启动都很简答,就是下载后解压,然后打开terminal进入解压后的目录下的bin目录,然后执行startup命令:

可以看到上面我执行./startup.sh时提示权限问题了,这是因为用户没有权限导致无法运行,需要要chmod修改bin目录下.sh的权限。 修改完权限后启动就可以了,看到提示启动成功后,我们可以在浏览器输入http://localhost:8080,如果能显示出来可爱的小喵咪,那就说明启动成功了。

有关tomcat更多的信息就不介绍了,一般在javaweb的学习过程中都会学到。

部署Jenkins到Tomcat

Jenkins官网进行下载,然后选择意向版本的.war

把下载后的war包放在本地tomcat目录下的webapps目录下。

然后在浏览器中访问http://localhost:8080/jenkins/,如果看到以下界面,代表已经成功部署了.

启动完成后会提示输入一个密码,上面有路径,我们直接进去打开拷贝就可以了。

按照上面的路径,进入拷贝.

然后会出现安装选择页面,我们选择默认的配置就可以。

然后就会出现以下界面,我们等待安装就可以了,这个安装过程会灰常慢。 我们也可以看到他会安装ant、gradle、git、svn、email等插件。

等安装完成后会看到用户名设置界面。

好了,大功告成,开始使用后的页面如下:

那就开始创建一个项目的项目:

创建后就会进入到项目设置页面:

然后我们去设置源码管理,配置好分支和项目地址:

下面点击证书后面的add进行添加,然后选择用用户名和密码的登录方式,输入用户名和密码:

然后继续进行设置构建部分,因为android打包需要使用Gradle所以,我们选择使用Gradle然后进行配置Gradle:

然后设置Gradle版本:

这里你会发现没有Gradle版本,这是因为我们没有去配置Gradle导致的,因为android打包需要GradleJDK所以我们要先去配置下他俩, 进入到jenkins首页选择系统管理-全局工具配置:

里面的jdkgradle都可以选择在线安装,如果jdk使用在线安装的话需要输入oracle账号的的用户名和密码。 配置弯沉恭候,再回到刚才创建的JenkisDemo项目的配置页面继续进行构建配置:

然后就可以选择我们刚才新添加的gradle版本了:

然后再Tasks里面输入对应的Task命令就可以了。

在里面构建后操作中选择增加构建后操作步骤,可以选择构建完后自动发邮件等。

到这里就配置完了,下面直接执行项目里面的立即构建就可以自动打包了。

但是报错了,我们点本次构建列表中点入,再点击控制台输出可以查看详细的错误信息,提示说需要配置SDK,前面只配置了jdk忘了配置sdk

打开系统管理-系统设置然后在全局变量-环境变量中增加Android_home配置:

好了,这样就可以了。

但是我们再打包的时候不仅仅是想这样打一个简单的版本,而是想配置一下参数,来满足一些版本号,渠道等的需求。 我们可以来到项目的设置页面,选择参数化构建过程-添加参数-选择选项参数等进行添加:

可以配置APP_VERSIONBUILD_TIMEPRODUCT_FLAVORSBUILD_TYPE

注意这里配置完成后,还要去在gradle task中去使用才可以(在命令后面加上配置的参数):

好了,配置完成后再返回到项目首页你就会发现之前的立即构建变成了Build with Parameters,点击它就可以直接构建了。

打包完成后可以自动放到服务器目录中,通过tomcat提供链接对外下载,也可以发邮件、生成二维码等。这里就不仔细介绍了。 jenkins可以让我们更自由的进行配置,操作,也可以通过shell脚本等进行更加深度的定制,提高了开发中打包的效率。

而且Jenkins还提供了很多静态代码分析检查的插件,可以直接去集成使用[Static Code Analysis Plug-ins](Static Code Analysis Plug-ins)