轻轨线CI构建加速

1 概述
1.1 背景介绍
轻轨线CI构建gradle编译java工程需要预编译解析依赖目录下的所有jar包,在jar包很多的时候构建速度可能会非常慢。
1.2 解决方案
采用复用上次构建的缓存文件的方式来提高构建速度,与本地构建方式一样。
(注:针对轻轨线(CI/CD)v2.8.6之前生成的流水线需要手工配置,v2.8.6及以后的版本已在脚本中解决。)
2 配置指导
1)进入CI流水线,点击“构建补丁包”节点,进入编辑


2)在脚本判断settings.gradle.server上添加脚本如下:
#拷贝上次构建缓存,加速构建
if [ "${USE_BUILD_CACHE}" != "false" ] && [ "${USE_BUILD_CACHE}" != "FALSE" ];then
if [ -d /opt/gradle_cache/${NEXUS_REPO}/${PATCH_PACKAGE_PREFIX_NAME}/${GRADLE_PATH}/.gradle ] && [ -d /opt/gradle_cache/${NEXUS_REPO}/${PATCH_PACKAGE_PREFIX_NAME}/${GRADLE_PATH}/build ];then
echo "last build cache was exists , use it this time!"
/bin/cp -rp /opt/gradle_cache/${NEXUS_REPO}/${PATCH_PACKAGE_PREFIX_NAME}/${GRADLE_PATH}/.gradle /opt/gradle_cache/${NEXUS_REPO}/${PATCH_PACKAGE_PREFIX_NAME}/${GRADLE_PATH}/build ${WORKSPACE}/${GRADLE_PATH}
else
echo "last build cache was not exists , create build cache this time!"
fi
else
echo "no use the build cache , if you want to use it , please configure "USE_BUILD_CACHE=true" in Environment variables"
fi

3)在脚本最后添加如下脚本:
//构建完成的缓存拷贝到公共地方提供给下次构建使用(提速)
// begin for appname
READJSON_text.build.each {
env['APPNAME']=it.app_code
env['IS_BUILD_JAR']=it.is_build_app
// 构建jar包
if ( it.is_build_app == 0 ) {
println "${APPNAME} is_build_app = ${IS_BUILD_JAR}, build jar pass"
} else {
it.projects.each {
轻轨线CI构建加速
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



