Jenkins任务:创建“编译运行安卓项目”任务-pos_local
综述:本文将介绍如何在Jenkins上创建和运行“编译运行安卓项目”的任务:“新建Jenkins任务”、“选择构建一个Freesyle项目,输入任务名”、“配置任务”、“运行Jenkins任务”、“查看运行日志”。
1、新建Jenkins任务

2、选择构建一个Freesyle 项目,输入任务名

3、配置项目
(1)源码管理
选择Subversion,Repository URL填写$SVN_Url_POS_V2_0,Credentials添加登录svn的账号密码
Check-out Strategy选择Use 'svn update' as much as posible,with 'svn revert' before update

(2)构建触发器
勾选Build periodically,日程表填写H 7 * * *,表示每天上午7点运行

(3)构建环境
勾选Abort the build if it's stuck,Time-out strategy选择Absolute,Timeout minutes填写120

(4)构建
选择Execute Windows batch command
批处理命令填写
echo 现在的BUILD_ID=%BUILD_ID%
call D:\BXERP\trunk\src\jenkins\nbr_dev_refreshDB\nbr_dev_refreshDB.py
echo 执行完脚本后,现在的BUILD_ID=%BUILD_ID%
echo 正在覆盖configuration.java
call D:\BXERP\trunk\src\jenkins\pos_local\copy_configuration_java.bat
echo 正在覆盖完毕
exit 0

nbr_dev_refreshDB.py主要的逻辑是关闭tomcat,通知“小王子”刷新数据库,然后重启tomcat
代码如下:
nbr_dev_refreshDB.py
# coding=utf-8
import os
import sys
sys.path.append('D:/BXERP/trunk/src/jenkins/Common') #引用的自定义模块不与该python文件在同一目录时,需要指定路径
from bxUtility import printInfo
from bxUtility import closeTomcat
from bxUtility import refreshDB
from bxUtility import startTomcat
FILE_NbrPath = 'D:/Tomcat/webapps/nbr'
CURRENT_SrcDirOfTableCreate = os.getenv("CURRENT_SrcDirOfTableCreate")
CURRENT_ReleaseNbrHomeUrl = os.getenv("CURRENT_ReleaseNbrHomeUrl")
try:
# 关闭tomcat
closeTomcat(60) #参数为等待的时间(s),每10秒会检查一次,直到超过等待的时间
# 通知小王子Jenkins版刷新DB
refreshDB(120, CURRENT_SrcDirOfTableCreate)
# 重启tomcat
startTomcat(300, CURRENT_ReleaseNbrHomeUrl, CURRENT_SrcDirOfTableCreate)
except Exception as e:
printInfo('出现异常:' + str(e), 1)
else:
os._exit(0)
copy_configuration_java.bat主要是替换掉项目中的configuration.java文件,因为该文件指向服务器的IP地址需要做修改
bat文件命令:
rem 若SVN上的Configuration.java有更改,则需更新本文件,才复制到目标位置
del D:\Jenkins\workspace\pos_local\app\src\main\java\com\bx\erp\helper\*Configuration*.java
copy D:\BXERP\trunk\src\jenkins\pos_local\Configuration.java D:\Jenkins\workspace\pos_local\app\src\main\java\com\bx\erp\helper\Configuration.java
configuration.java文件

增加Invoke Gradle script
选择Use Gradle Wrapper
在Tasks填写
clean
build
jacocoTestReport
jacocoAndroidTestReport
(gradle clean 清除build文件夹,gradle build 检查依赖并编译打包,使用jacoco工具 运行测试并获得代码覆盖率)

再次增加Execute Windows batch command
批处理命令填写
echo 现在的BUILD_ID=%BUILD_ID%
call D:\BXERP\trunk\src\jenkins\nbr_dev_refreshDB\nbr_dev_refreshDB.py
echo 执行完脚本后,现在的BUILD_ID=%BUILD_ID%
exit 0

调用了nbr_dev_refreshDB.py,刷新数据库,并重启tomcat
(5)构建后操作
选择Editable Email Notification
Default Subject填写一个自己可以识别的名字,其它选项填写默认值

Attach Build Log选择Do Not Attach Build Log
选择高级设置
Triggers选择always,Send To Recipient

(6)保存,在主页面可以看到刚创建好的任务
4、运行Jenkins任务
点击Build Now按钮,开始运行任务

5、查看运行日志
在左下角可以看到运行中的任务,点击“控制台输出”查看日志


浙公网安备 33010602011771号