美文网首页Android葵花宝典android开发专题后台开发专题
【Jenkins】Jenkins集成Android全自动参数化打

【Jenkins】Jenkins集成Android全自动参数化打

作者: Kevin_Junbaozi | 来源:发表于2018-04-25 23:27 被阅读100次

    1 集成步骤

    1.1 远程节点连接

    Mac Slave节点上建立连接用脚本

    java -jar slave.jar -jnlpUrl http://192.168.23.13:8080/jenkins/computer/IOS_Node/slave-agent.jnlp -secret62b5dc021bbf90e8207057760bf71fae93867c154add3963e5f9c3befee2df06

    Windows平台Jenkins连接MacSlave节点上建立连接用脚本

    java -jar agent.jar -jnlpUrl http://192.168.23.34:8080/jenkins/computer/IOS_Node/slave-agent.jnlp

    -secret 62b5dc021bbf90e8207057760bf71fae93867c154add3963e5f9c3befee2df06

    Mac平台Jenkins连接WindowsSlave节点上建立连接用脚本

    打开cmd命令行窗口,输入如下命令:

    Cmd C:\Users\hjdev\.jenkins

    java -jar agent.jar -jnlpUrl http://192.168.23.34:8080/computer/Android_Dev/slave-agent.jnlp -secret de88da611ce63c67a07d13083e38b6e44d0547d84ff706802c4c54c8a09d7c3d -workDir "C:\Users\hjdev\.jenkins"

    1.2 参数化构建

    (Good)利用Jenkins玩转Android自动打包发包

    http://blog.csdn.net/mabeijianxi/article/details/52680283

    Jenkins参数化构建

    https://www.cnblogs.com/meitian/p/5492457.html

    Jenkins参数化构建android项目

    http://blog.csdn.net/u012400222/article/details/78232402

    参数化构建build.gradle样例:

    https://github.com/mabeijianxi/android-automation/blob/master/build.gradle

    参数化构建gradle.properties样例

    https://github.com/mabeijianxi/android-automation/blob/master/gradle.properties

    1.2.1 7zip压缩命令

    "C:\Program Files\7-Zip\7z.exe" a "C:\Users\hjdev\.jenkins\workspace\Android_Dis\m.zip" "C:\Users\hjdev\.jenkins\workspace\Android_Dis\www"

    1.2.2 xcopy命令

    xcopy C:\Users\hjdev\.jenkins\workspace\androidXML\xml C:\Users\hjdev\.jenkins\workspace\Android_Dis\app\src\main\res\xml /e/R /Y

    1.2.3 copy命令

    copy "C:\Users\hjdev\.jenkins\Android_Dis\m.zip" "C:\Users\hjdev\.jenkins\Android_Dis\app\src\main\assets" -Y

    1.3 自动发布脚本

    在Windows下使用curl命令

    https://www.2cto.com/os/201205/131164.html

    使用 Jenkins 插件上传应用到蒲公英

    https://www.pgyer.com/doc/view/jenkins_plugin

    使用Jenkins实现持续集成(Android)并上传蒲公英

    https://www.pgyer.com/doc/view/jenkins

    curl -F "file=@\app\build\outputs\apk\app-dev.apk" -F "uKey=05cac798537b5f0bd0fb3fda30b66751" -F "_api_key=d25e340391b092101d8810c328c125ee" http://www.pgyer.com/apiv1/app/upload

    1.4 定时构建

    1.4.1 定时构建语法

        * * * * *

                第一个*表示分钟,取值0~59

                第二个*表示小时,取值0~23

                第三个*表示一个月的第几天,取值1~31

                第四个*表示第几月,取值1~12

                第五个*表示一周中的第几天,取值0~7,其中0和7代表的都是周日

    1.4.2 常用定时构建举例

      由于项目的代码一般存在放SVN中,而一个SVN往往是有多个项目组在提交代码,而每个项目组又有多人组成,其中每个人也都在对自己的那块代码不停地在进行维护,所以说对于一个公司而言,SVN的提交记录往往是很频繁的,正因为如此,Jenkins在执行自动化构建时往往是以天为单位来执行的,下面举的例子就是在一天中常用的定时构建示例。

        每隔5分钟构建一次                              H/5 * * * *

        每两小时构建一次                                H H/2 * * *

        每天中午下班前定时构建一次               0 12 * * * 

        每天下午下班前定时构建一次               0 18 * * *

    1.4.3 定时构建设置

      在Jenkins的主页面中,点击构建的项目,如下图所示:

      在project-parent页面,点击左侧的【配置】按钮,进入项目配置页面

      在【配置】页面中,下拉到【构建触发器】,在这里有两个可选选项,分别是“Buildperiodically”和“Poll SCM”,它们的特点如下:

                Build periodically

      无论SVN中数据有无变化,均执行定时化的构建任务

                Poll SCM

      定时轮询SVN,查看SVN中是否有数据变化,如果有变化,则执行构建任务

      至于上面两种情况,到底怎么选,亦或是组合在一起,都是看项目的需要,按照项目的需求进行配置。

    2 参考链接

    利用Jenkins玩转Android自动打包发包

    http://blog.csdn.net/mabeijianxi/article/details/52680283

    两种常见挂载Jenkins slave节点的方法

    http://blog.csdn.net/liuchunming033/article/details/52025541

    Jenkins Master,Slave使用问题汇总及解决方案

    http://blog.csdn.net/achang21/article/details/45153199

    linux jenkins添加windows节点,实现自动化部署

    http://blog.csdn.net/yfx000/article/details/52023654

    Jenkins使用教程之管理节点

    https://www.jianshu.com/p/047362b11403

    Jenkins Windows slave节点部署

    http://blog.csdn.net/hifour/article/details/69374837

    Jenkins 为Jenkins添加Windows Slave远程执行python项目脚本

    http://blog.sina.com.cn/s/blog_13cc013b50102w1yr.html

    【Jenkins】Jenkins配置从节点,实现远程主机调用功能

    https://www.cnblogs.com/MrCandy/p/6758956.html

    [原]Jenkins(一)---我理解的jenkins是这样的

    [原]Jenkins(二)---jenkins之Git+maven+jdk+tomcat

    [原]Jenkins(三)---Jenkins初始配置和插件配置

    [原]Jenkins(四)---Jenkins添加密钥对

    [原]jenkins(五)---jenkins添加项目

    [原]jenkins(六)---jenkins远程部署脚本

    [原]Jenkins(七)---jenkins项目编译测试发布由maven构建的web项目

    [原]Jenkins(八)---jenkins构建项目报错时发送错误报告邮件

    [原]Jenkins(九)---jenkins分别发布多个项目到多个远程主机

    [原]Jenkins(十)---jenkins注册管理员admin并赋所有权限给admin

    [原]Jenkins(十一)---jenkins使用管理员admin创建用户和分配权限

    [原]Jenkins(十二)---jenkins管理员用户无法登陆解决办法Access Denied

    [原]Jenkins(十三)---jenkins用户权限管理

    [原]Jenkins(十四)---jenkins示例:admin管理所有项目,新建用户只能看部分项目

    [原]Jenkins(十五)---jenkins插件之deploy

    jenkins配置从节点

    https://www.cnblogs.com/jsonhc/p/7372359.html

    [原]Jenkins(九)---jenkins分别发布多个项目到多个远程主机

    https://www.cnblogs.com/horizonli/p/5336098.html

    Windows中的COPY、XCOPY和MOVE覆盖功能发生更改

    https://support.microsoft.com/zh-cn/help/240268/copy--xcopy--and-move-overwrite-functionality-changes-in-windows

    windows复制文件夹命令xcopy

    http://blog.csdn.net/mfkjq/article/details/69230369

    windows copy命令详解

    http://blog.csdn.net/u011334738/article/details/24602883

    Jenkins之定时构建

    http://blog.csdn.net/zzy1078689276/article/details/77520441

    相关文章

      网友评论

        本文标题:【Jenkins】Jenkins集成Android全自动参数化打

        本文链接:https://www.haomeiwen.com/subject/nkganxtx.html