多快好省的开发

Android Jenkins 自动化部署

2018-12-24  本文已影响7人  hewking

项目配置

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导致的异常解决

上一篇下一篇

猜你喜欢

热点阅读