提高CI运行速度的简单方法
2017-09-13 08:41
387 查看
答案
并发具体实践
并发编译
make的操作,加入-j,编译速度会非常快!-s是安静的意思,只打印告警信息,这样也能微弱加速。
make -sj
注意,除了编译代码,在测试和代码检查中,凡是会用到make的,都可以加速-j,会有效果
并发shell
看过很多人的脚本,都是一个个测试用例在编译,伪码如下:for i in xx; do compile yy done
实际上,这是一个串联操作,测试用例是不需要串行的。
采用& 和 wait来实现并发
for i in xx; do compile yy & done wait
这样,各个测试用例就可以并发编译了。
它的意思是:
每个compile yy都变成后台运行进程,这样就可以立马执行下一个任务。
wait是会等待所有的后台进程全部完成后,才会继续。
这里只是拿测试用例进行举例,该思想应用面很广
并发CI
这里以CI pipeline为例。pipeline是支持parallel并发模式的。
在一个stage内部,可以实现两种并发,parallel是可以嵌套的:
- node的并发
- node内部的不同任务的并发
Jenkinsfile示例如下:
#!groovy stage ('check') { parallel ( "fortify": { node("JenkinsServer"){ checkout scm sh "xxxx" } }, "lightweigh_check": { node("mesos"){ checkout scm parallel( "doxygen": { sh 'cd ${SRC_PATH} && make doc 1>/dev/null 2>${WORKSPACE}/makedoc.warning \ && cat ${WORKSPACE}/makedoc.warning \ && if test -s ${WORKSPACE}/makedoc.warning; then exit 1; else exit 0; fi' }, //ccn check "ccn average": { sh 'lizard ${SRC_PATH} --xml > ${WORKSPACE}/ccn.xml' sh 'python ${SCRIPT}/check/ccn_average.py' } ) } } ) }
其他好工具
time
运行脚本时,用time执行time xxx.sh
会显示执行脚本的时间,方便评估并发效果
相关文章推荐
- 提高虚拟机运行速度方法
- 提高程序运行效率的10个简单方法
- 提高win7系统运行速度的方法
- 提高C++程序运行效率的10个简单方法
- 提高C++程序运行效率的10个简单方法
- 提高程序运行效率的10个简单方法
- VC++ 提高C++程序运行效率10个简单方法(其他语言程序参考)
- 提高程序运行效率的10个简单方法--转自林锐博士
- 提高C++程序运行效率的10个简单方法
- 提高VS2010运行速度的方法
- 提高PHP运行速度的几大方法
- 提高C++程序运行效率的10个简单方法
- 提高C++程序运行效率的10个简单方法
- 提高C++程序运行效率的10个简单方法
- 提高程序运行效率的10个简单方法
- 提高C++程序运行效率的10个简单方法
- mac os下提高android studio运行速度终极方法
- 提高C++程序运行效率的10个简单方法
- 提高电脑运行速度的方法(初级篇)
- 提高程序运行效率的10个简单方法