美文网首页多快好省的开发
Android Jenkins 自动化部署

Android Jenkins 自动化部署

作者: hewking | 来源:发表于2018-12-24 23:46 被阅读7次

    项目配置

    jenkins 通过war 包在tomcat 中运行。最终生成的有关build 的数据都在以下路径

    cd /root/.jenkins/
    
    

    遇到的问题

    org.gradle.launcher.daemon.client.DaemonDisappearedException: Gradle build daemon disappeared unexpectedly (it may have been killed or may have crashed)
    
    

    在linux 直接gradle编译没有出现问题,但是在jenkins 出现了。很疑惑好在在starckoverflow 上面又同样的问题并有详细的描述,不得不说,除了问题一定要养成一个惯性,第一在stackoverflow里面找。

    解决方法禁用deamon gradle properites
    org.gradle.daemon=false
    
    
    step 'Invoke Gradle script' changed build result to FAILUREBuild step 'Invoke Gradle script' marked build as failure
    

    这一个问题也是很坑得,一直以为是jenkins配置问题,最终发现这只是异常的结果,问题出现在抛出异常的任务,所以这个任务是啥呢?

    :app:lintVitalReleaseBuild
    

    既然找到了问题所在,那就解决它吧,一番搜索发现果然有人遇到过这个问题,解决如下:

    在对应的app 的build.gradle android{}中添加代码
       //添加如下配置就ok了
        lintOptions {
            checkReleaseBuilds false
            abortOnError false
        }
    

    一个一个的问题真是让人深受大吉。。在windows 上分分钟完事儿。因为是用的github 上的项目,本来以为直接在服务器上更改build.gradle 其实是没用的,因为jenkins build的时候回从github拉取最新,所以是更改回被覆盖。所以修改直接修改仓库并且push到github,或者直接github修改

    又来一问题 如下

    app:transformClassesWithDexBuilderForReleaseBuild
    

    windows jenkins 配置

    相对Linxu wndiows 相对简单,需要注意的一点是,在开了tomcat之后如果没有设置本地ANDROID_HOME 环境变量。会提示找不到sdk,再设置之后还需要重启tomcat。否则不会生效

    参考资料

    Android Jenkins参数化配置

    Android Jenkins+Git+Gradle持续集成-实在太详细

    step 'Invoke Gradle script' changed build result to FAILUREBuild step 'Invoke Gradle script' marked build as failure 异常

    app:lintVitalReleaseBuild导致的异常解决

    相关文章

      网友评论

        本文标题:Android Jenkins 自动化部署

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