如何去除CI环境下Gradle首次执行任务时的下载进度输出
解决CI环境中Gradle首次执行的下载进度条问题
你在CI里执行Gradle命令提取版本号时,即使加了-q和--console=plain,还是会出现依赖下载的进度条,干扰最终的版本号输出。这是因为-q仅控制任务日志输出,不影响依赖下载的进度提示,得用专门配置关闭它。
给你几个可行的解决方法:
命令行直接添加系统属性
修改执行命令,加上-Dorg.gradle.progress=false参数,这个属性会直接关闭Gradle的所有进度报告(包括下载进度条):env.appVersion = sh(script: './gradlew myVersion -q --console=plain --no-build-cache --no-configuration-cache -Dorg.gradle.progress=false | tail -1', returnStdout: true).trim()通过CI环境变量全局配置
如果CI中有多个Gradle任务需要关闭进度条,可以预先设置GRADLE_OPTS环境变量:export GRADLE_OPTS="-Dorg.gradle.progress=false"之后再执行原Gradle命令即可,无需每次重复加参数。
修改项目gradle.properties(需提交代码)
在项目根目录的gradle.properties文件中添加以下配置,永久关闭进度提示:org.gradle.progress=false适合不需要进度提示的项目场景,但需要将修改提交到代码仓库。
用以上方法调整后,执行命令就不会再输出下载进度条,tail -1就能正确提取到版本号了。
内容的提问来源于stack exchange,提问作者pixel
相关产品推荐
相关产品推荐

