成功最有效的方法就是向有经验的人学习!

使用pipeline构建安卓应用程序

全流程包括:自动构建触发–>静态代码检查–>上传Artifactory–>上传蒲公英–>打tag–>邮件通知

file

①自动构建触发:

自动构建触发是通过PollSCM实现的。

其实更好的方法是将pipeline脚本保存Jenkinsfile存储在git库源码根目录,这样就会自动创建任务了,并且git version也很好获取。关于git version这个可以参考Git version获取。但是出于项目原因,不能这么处理,就用pipeline script拐弯抹角实现啦。

自动构建的同时,我们定义了项目的主板本号,主板本号存储在源码根目录下的一个叫VERSION.md的文件里面,每次构建的时候获取这里面的字段,命名为BUILD_VERSION,一般格式是1.0.0这种的。BUILD_VERSION跟BUILD_NUMBER共同组成了唯一的测试版本号。

②上传蒲公英其实是为了在邮件中给测试同学提供二维码下载方式。

调用的是蒲公英官方提供的接口:https://www.pgyer.com/doc/view/api#paramInfo

顺便吐槽一下,蒲公英需要举身份证认证,真的有点囧==

③上传Artifactory是为了做产品包管理,大家使用的工具各不相同,可能参考价值不大。

④TAG这个,参考Git version获取。

⑤邮件通知:邮件通知这块,再从普通构建转为pipeline构建过程中真的遇到了不少坑,主要是引号的使用,一开始emailext body里面怎么都获取不到参数,还以为是不支持。新手折腾了很久才知道问题出在引号上,哎,我用了三引号"""就可以了。

node('slave-windows-0.0.0.0') {   

    properties([parameters([
        string(defaultValue: 'xxx@xxx.cn', description: '成功后邮件通知列表', name: 'Maillist_Success', trim: false), 
        string(defaultValue: 'xxx@m.cn', description: '构建异常邮件通知列表', name: 'Maillist_Failed', trim: false), 
        text(defaultValue: '''<hr/>
            (本邮件是程序自动下发的,请勿回复!)<br/><hr/>
            很遗憾的通知这次执行失败啦,一定有哪里出了问题,还请点开构建日志仔细检查,或者跟管理员联系 <br/><hr/>
            项目名称:$PROJECT_NAME<br/><hr/>
            触发原因:${CAUSE}<br/><hr/>

            构建流水线:<a href="http://0.0.0.0:8080/job/${JOB_NAME}">http://0.0.0.0:8080/job/${JOB_NAME}</a><br/><hr/>
            构建日志地址:<a href="${BUILD_URL}console">${BUILD_URL}console</a><br/><hr/>
            静测结果:<a href="http://0.0.0.0:9000/dashboard/index/${JOB_NAME}">http://0.0.0.0:9000/dashboard/index/${JOB_NAME}</a><br/><hr/>
            变更集:${JELLY_SCRIPT,template="html"}<br/><hr/>''', 
            description: '构建异常邮件通知正文', name: 'EmailextBody_Failed'
        ),
        string(defaultValue: 'xxxxx', description: '_api_key', name: 'Api_Key', trim: false),
        string(defaultValue: 'https://www.pgyer.com/apiv2/app/upload', description: 'Pgyer_URL', name: 'Pgyer_URL', trim: false),
        string(defaultValue: 'https://www.pgyer.com/app/qrcode/H9lA', description: 'Qrcode_URL', name: 'Qrcode_URL', trim: false),
        string(defaultValue: "\\test2\\build\\outputs\\apk\\test2-debug.apk", description: 'Output_Dir', name: 'Output_Dir', trim: false)     
    ])])
您暂时无权查看此隐藏内容!
内容查看本文隐藏内容查看需要消耗20土豆币,请先
土豆币按需购买,不退换,请考虑清楚后购买。
赞(0) 打赏
未经允许不得转载:陈桂林博客 » 使用pipeline构建安卓应用程序
分享到

大佬们的评论 抢沙发

全新“一站式”建站,高质量、高售后的一条龙服务

微信 抖音 支付宝 百度 头条 快手全平台打通信息流

橙子建站.极速智能建站8折购买虚拟主机

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

登录

找回密码

注册