Android jenkins 自动化构建打包

1.设置主目录

Android jenkins 自动化构建打包_第1张图片

我们采用2方法,首先修改或新增JENKINS_HOME环境变量

Android jenkins 自动化构建打包_第2张图片

重启Tomcat,在重启Tomcat之后,我们又进入了熟悉的界面,需要重新设置账户密码,下载插件等。

2.创建项目

1.输入名称,点击创建Freestyle project构建一个自由风格的软件项目

Android jenkins 自动化构建打包_第3张图片

2.General

Android jenkins 自动化构建打包_第4张图片

丢弃旧的构建(Discard old builds):设置构建历史的保存策略

参数化构建过程(This project is parameterized):里面可以配置不同的参数,便于在构建时引用这些参数

关闭构建:这样项目就没法进行构建了

在必要时进行并发构建:满足策略要求时就会进行并发构建

比如添加String参数:

Android jenkins 自动化构建打包_第5张图片

Android jenkins 自动化构建打包_第6张图片

3.源码管理

如果项目是多个仓库进行管理,需要安装:Multiple SCMs Plugin。该插件能达到如下效果:

(1)同时监测多个版本库,其中有一个或者多个版本库有新的提交,就能自动触发新的构建。

(2)同时监测的多个版本库中,可以是svn,可以是git等常用代码管理工具,也可以混搭。

安装成功后,源码管理中,会多一个Multiple SCMs选项

可以add 多个SCM,并且可以将子仓库存放在“仓库的本地子目录”(根据工程要求)

4.构建触发器

Android jenkins 自动化构建打包_第7张图片

1、Build after other projects are built:在其他项目构建完成后再进行构建

2、Build periodically:周期进行构建

日程表语法:

* 指定所有有效值

M-N 指定值范围

M-N/X或*/X按X的间隔逐步达到指定范围或整个有效范围

A,B,...,Z 枚举多个值

日程表的参数:

第一个参数代表的是分钟 minute,取值 0~59;

第二个参数代表的是小时 hour,取值 0~23;

第三个参数代表的是天 day,取值 1~31;

第四个参数代表的是月 month,取值 1~12;

最后一个参数代表的是星期 week,取值 0~7,0 和 7 都是表示星期天。

例子:

每十五分钟   H/15 * * * *

每小时的0-29分钟每十分钟   H(0-29)/10 * * * *

每两小时一次,工作日,上午9:45开始,下午3:45结束  45 9-16/2 * * 1-5

每月的1号和15号执行一次,12个月     H H 1,15 1-12 *

3、Poll SCM:根据SCM软件的版本号,定时检查源码变更。如果有更新,则checkout最新code,然后执行构建动作。

5.构建环境

暂时没使用到

6.构建

Android jenkins 自动化构建打包_第8张图片

Execute Python script 执行python code

Execute windows batch command 执行windows的cmd

Execute shell 执行shell命令

Invoke top-level maven targets 调用maven

注意:想直接执行python code 需要选择Execute Python script。

需下载插件:Python Wrapper Plugin,Python Plugin

配置完成之后,运行发现以下错误:

错误1:

Android jenkins 自动化构建打包_第9张图片

问题原因:没有搭建python环境

Python下载链接 Download Python | Python.org

错误2:

Android jenkins 自动化构建打包_第10张图片

问题原因:没有配置环境变量ANDROID_SDK_ROOT,配置后重启生效。

Android jenkins 自动化构建打包_第11张图片

7.构建后操作

Android jenkins 自动化构建打包_第12张图片

Build other projects:构建其他项目

E-mail notification:发送邮件

Editable email notification:发送邮件(这是一个插件)

Delete workspace when build is done:构建后删除工作空间

你可能感兴趣的:(打包发布,环境的搭建和使用,jenkins,android,自动化)