Jenkins自动化打包说明
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Jenkins打包简介
一、Jenkins 安装
Jenkins 是一个开源项目,提供了一种易于使用的持续集成系统,使开发者从繁杂的集成中解脱出来,专注于更为重要的业务逻辑实现上。
同时Jenkins 能实施监控集成中存在的错误,提供详细的日志文件和提醒功能,还能用图表的形式形象地展示项目构建的趋势和稳定性。
下面将介绍Jenkins 的基本功能。
Jenkins 的安装非常简单,只需要从Jenkins 的主页(/)上下载最新的
jenkins.war 文件然后在运行java -jar jenkins.war。
此控制台要一直开启,同时,还可以点击Jenkins 页面上的launch 按钮完成下载和运行Jenkins。
1.1 Jenkins Launch 按钮
启动Jenkins 后,会有一个后台进程在命令行模式下运行。
此时在浏览器地址栏中打开http://localhost:8080 就可以看到Jenkins 的页面了。
Jenkins 的可贵之处在于具有非常高的可用性,从它的界面中能很轻松地完成各种配置,更多的配置和使用信息,可以在Jenkins 的官方网站上查询。
、
1.2 命令行模式下运行Jenkins
1.3 Jenkins 主界面
非常有趣的是,Jenkins 还提供了非常丰富的插件支持,这使得Jenkins 变得越来越强大。
我们可以方便的安装各种第三方插件,从而方便快捷的集成第三方的应用。
比如Jenkins 提供了对于IBM Rational ClearCase 的插件支持。
1.4 Jenkins 可以集成ClearCase 插件
此外,Jenkins 提供了丰富的管理和配置的功能,包括系统配置、管理插件、查看系统信息、系统日志、节点管理、Jenkins 命令行窗口、信息统计等功能。
试试看,您就会发现Jenkins 非常好上手使用。
1.5 Jenkins 提供了丰富的管理功能
基于Jenkins 快速搭建持续集成环境
正如前文中所描述的那样,一个持续集成环境需要包括三个方面要素:代码存储库、构建过程和持续集成服务器。
对Jenkins 有了初步了解后,我们通过一个实例来集中展示如何快速搭建一个简单的基于Jenkins 的持续集成环境。
假设我们使用的代码存储库是IBM Rational ClearCase。
Jenkins 提供了对ClearCase 的插件支持,它能方便地让我们连接到Base ClearCase 或者UCM ClearCase,使其成为Jenkins Project 的代码控制器。
另外,这个插件是基于cleartool 命令的,所以必须在Jenkins 的持续集成服务器上安装ClearCase 的客户端程序。
在Jenkins 的插件管理界面中选择ClearCase Plugin,点击页面下方的Install 按钮。
二、选择插件
2.1 Jenkins Parameterized Trigger plugin 插件
后续需要用到一些参数,可以在build中传参数。
选择不重启安装
2.2 Python Plugin 插件
三、开始准备打包工程
3.1新建JenkinsTest Job
一个工程一个job,可以增加复用。
然后我们就可以很方便的配置这个项目了。
Jenkins 很人性化的一点是在每个配置项的右侧都有一个帮助的图标,点击这个图标,Jenkins 会告诉您如何配置这个配置项。
3.2 配置连接到SVN 服务器
根据实际的SVN 服务器服务器信息配置Source Code Management,这能让Jenkins 知道如何从哪里获取最新的代码。
3.3 选择如何触发构建
根据需要,假设每1个小时我们需要重新构建一次。
选择Build periodically,在Schedule 中填写0 * * * *。
第一个参数代表的是分钟minute,取值0~59;
第二个参数代表的是小时hour,取值0~23;
第三个参数代表的是天day,取值1~31;
第四个参数代表的是月month,取值1~12;
最后一个参数代表的是星期week,取值0~7,0 和7 都是表示星期天。
所以0 * * * * 表示的就是每个小时的第0 分钟执行一次构建。
如果我想每天上午10点进行构建,0 10 * * *
3.4 构建步骤
每个工程都需要进行更新和clean操作,主工程还需要进行release操作
选择增加构建步骤,Execute Windows Batch command
在命令中输入android update project -p . (注意命令行后面有个.勿漏)再新建一个构建,输入ant clean
3.5 根据依赖关系,构建其他工程
3.6开始build
点击立即构建即可开始执行build
同时我们可以点击JenkinsTest 查看单次构建的Console 的输出结果。
从中我们能看到构建的第一步是从SVN 服务器上check out 代码,然后调用我们先前配置的Windows batch command。
图14. JenkinsTest 构建的console 输出
最后,我们可以看到build 的最后结果Success,表明本次构建成功。
构建成功的Console 输出:
3.7 主工程的配置
在YoukuPlayer build完成后再触发构建
执行下面3个命令:
android update project -p .
ant clean
ant release
另外还需要给最后签名打包程序传递几个参数,参见3.9 参数传递3.9 参数传递
打包时,需要传递参数
选择Trigger parameterized build on other projects
将需要传递参数的工程名,写到projects to build中。
在Parameters中输入:
srcDir = ${WORKSPACE}\\bin
destDir = E:\\Youku_UplayerBaiduQvod_release\\channle1
svnRevision = ${SVN_REVISION}
其中WORKSPACE 和SVN_REVISION是自带的环境变量,具体可参考
http://localhost:8080/env-vars.html/?
这里传递了3个参数。
scrDir: 当前路径下的bin路径;destDir 自定义的放打包后的apk的路径;还有svn上主工程的版本号。
四、建立打包工程
4.1 新建一个打包工程
需要接收主工程传递的参数,所以勾选上参数化构建过程。
建立3个参数跟mobile的传参对应
4.2 给apk签名
新建一个windows batch command 构建
在命令中输入如下命令进行签名:
cd %srcDir%
jarsigner -verbose -keystore E:\.jenkins\workspace\youku.android_key.keystore -storepass wuxian_youku_android -signedjar Youku.apk ActivityWelcome-release-unsigned.apk
youku_android_key.keystore
4.3 给apk命名
用当前日期和svn工程的版本号给apk命名,将打包好的apk放到指定的位置。
将重复名称的apk删除。
最后进行zipalign -v 4 优化
在新建一个windows batch command 构建
在命令中输入:
set d=%DATE:~5,2%%DATE:~8,2%
set pkgDir=%destDir%
set fname=%d%_%svnRevision%
if NOT exist %pkgDir% mkdir %pkgDir%
if exist %pkgDir%\Youku_UplayerBaiduQvod_%fname%.apk
del %pkgDir%\Youku_UplayerBaiduQvod_%fname%.apk
zipalign -v 4 %srcDir%\Youku.apk %pkgDir%\Youku_UplayerBaiduQvod_%fname%.apk
4.4 建立一个项目视图
建立一个项目视图,可以方便区分不同项目需要用到的工程。
点击+即可。
选择想加入视图的项目
4.5打包成功
打包工程构建完毕后,打包成功。
可以在自定义的打包路径下查找apk文件。
五、默认工作目录
Svn的文件都checkout到默认的工作目录中:。