最近在弄jenkins的自动打包部署
出现个问题,项目是用的mvn,打包的时候,如果是在控制台下还好。
如果是在jenkins下,看console output,往中心仓库artifactory提交包的时候,会显示下面一堆:
1Uploaded: http://xxx:8081/artifactory/libs-release-local/abc/maven-metadata.xml (315 B at 17.1 KB/sec)
2Uploading: http://xxx:8081/artifactory/libs-release-local/abc/d/admin-9.1.war
320000/21969 KB
420002/21969 KB
520004/21969 KB
620006/21969 KB
720008/21969 KB
820010/21969 KB
920012/21969 KB
1020014/21969 KB
1120016/21969 KB
1220018/21969 KB
1320020/21969 KB
1420022/21969 KB
1520024/21969 KB
1620026/21969 KB
1720028/21969 KB
1820030/21969 KB
1920032/21969 KB
2020034/21969 KB
2120036/21969 KB
2220038/21969 KB
2320040/21969 KB
2420042/21969 KB
2520044/21969 KB
26......
长度无比长,垃圾东西。如何将之屏蔽呢?
首先去修改mvn的日志级别,缺省是INFO,提高到WARN:
1MAVEN_OPTS=-Dorg.slf4j.simpleLogger.defaultLogLevel=warn mvn -ff clean install
我去,INFO是都没了,但是这个居然还在!!!!
查了下java的日志优先级:
1ALL < DEBUG < INFO < WARN < ERROR < FATAL < OFF
上面只有FATAL和OFF了,说明这个是个副产品,不是mvn控制的,而是上传的时候产生的。
没办法了,祭出shell大法:
1mvn -ff clean install | egrep "(^\[INFO\])"
把开头是[INFO]的显示出来,如果不够,还可以加上[DEBUG]
1mvn -ff clean install | egrep "(^\[INFO\]|^\[DEBUG\])"
如果要取反,不显示以[INFO]和[DEBUG]打头的那些行:
1mvn -ff clean install | egrep -v "(^\[INFO\]|^\[DEBUG\])"
最后,mvn全静默,只有出错才显示的方式:
1mvn -ff -q clean install
这下世界都安静了。
再说一下 mvn build 参数的调试:
mvn的parent pom里面指定了local file repo
1 <repositories>
2 <repository>
3 <id>project.local</id>
4 <name>project</name>
5 <url>file://${project.basedir}/../repo</url>
6 </repository>
7 </repositories>
而且指定了-s setting.xml,里面也有artifactory的repos. 在子模块module里不知道是否正常获得了。
执行下面命令就可以了:
1mvn help:evaluate
2${project.repositories}