Dav*_*vis 1 java android makefile jenkins
我每晚使用jenkins构建android镜像,然后发现即使andmake命令cp失败,jenkins仍然完成成功。
最后的构建设置是将日志文件复制到作业目录,所以也许它成功了\xef\xbc\x8can然后jenkins完成了成功。
\n\n而Text-finder插件只能设置构建不稳定而不能设置失败,那么如何在make失败时让构建失败。
日志是这样的:
\n\nmake: \\*** No rule to make target \\`device/vendor/product/google_frameworks/Google_Play.apk', needed by `out/target/product/device/system/app/Google_Play.apk'. Stop.\nmake: *** Waiting for unfinished jobs....\ntarget R.java/Manifest.java: FileBrowser(out/target/common/obj/APPS/FileBrowser_intermediates/src/R.stamp)\nWarning: AndroidManifest.xml already defines versionCode (in http://schemas.android.com/apk/res/android); using existing value in manifest. untranslatable but exists in locale 'zh_CN'\naapt: warning: string 'pref_development_uastring' has no default translation in packages/apps/Browser/res; found: zh_CN zh_TW\nNote: Recompile with -Xlint:unchecked for details.\n======================>End<=======================\ncp: cannot stat `/home/jenkins/job_name/source/out/target/product/device/package.img': No such file or directory\nExtended Email Publisher is currently disabled in project settings\nFinished: SUCCESS\nRun Code Online (Sandbox Code Playgroud)\n
如果脚本的最后一个命令成功,则 Jenkins 作业将标记为成功。
set -e一个简单的解决方法是在 bash 脚本的开头指定。
-e 如果命令以非零状态退出,则立即退出。
您还可以指定 trap: trap 'exit 1' ERR,以便在发生错误时停止脚本。