美文网首页
无星的前端之旅(五)——小程序批量发布如何压缩打包时间

无星的前端之旅(五)——小程序批量发布如何压缩打包时间

作者: 无星灬 | 来源:发表于2020-05-09 10:06 被阅读0次

    其实标题起的有点大,主要是使用shell中的&和wait这两个命令。

    运维大佬不要嘲笑。

    无星的前端之旅(四)——小程序持续集成前面介绍了背景,我们有一套代码要发40多个客户的小程序主体。

    在Jenkins中加shell去完成上传开发版这个操作。但是需要进行多参数化配置,换句话说就是40多家客户我们要打40多个包,分别上传。

    shell的执行方式是,前面执行完了,我们才能执行下一个命令。

    因此如果我们打一个包并上传的时间是1分钟,那40家就是40分钟。这谁顶得住啊。

    所以需要考虑如何压缩这个打包上传时间,能不能同时打包,同时上传。

    原本的shell如下,变量我就写中文代替了

    function npminstall(){
      echo "拉依赖"
      cd 代码文件夹下
      npm install
    }
    function buildwx(){
      echo "执行构建"
      # echo '环境:'$1
      # echo '文件名:'$2
      # echo '客户名:'$3
      npx cross-env 环境=$1 文件名=$2 客户名=$3 node build/build.js wx
    }
    function upload(){
      echo "执行上传"
      # echo '文件名:'$1
      # echo 'appid:'$2
      # echo 'version:'$3
      npx miniprogram-ci upload --pp  ./dist/${1}/wx --pkp ./privatekey/private.${2}.key --appid ${2} --uv ${3} -r 1 --enable-es6 true
    }
    #------------------待构建配置------------------
    configs=(
    "xxx客户;xxx环境;xxx文件名;xxxxappid"
    "xxx客户;xxx环境;xxx文件名;xxxxappid"
    )
    ##读取version变量
    version=‘xxx文件读取’
    #------------------执行批量构建------------------
    npminstall
    for xxx in ${configs[@]};do 
    客户名=`echo ${xxx} | awk -F ";" '{print $1}'`
    环境=`echo ${xxx} | awk -F ";" '{print $2}'`
    文件名=`echo ${xxx} | awk -F ";" '{print $3}'`
    appid=`echo ${xxx} | awk -F ";" '{print $4}'`
    buildwx ${环境} ${文件名} ${客户名}
    upload ${文件名} ${appid} ${version}
    echo "$客户名 上传完毕"
    done
    

    就是一个简单的for循环,根据配置信息批量打包。40多家就是40分钟。

    &:可以将命令转到后台执行,不阻塞。
    wait:可以等待前面命令全部执行完毕,避免终端提前退出。

    因此我们改造一下批量构建的shell

    npminstall
    for xxx in ${configs[@]};do {
    客户名=`echo ${xxx} | awk -F ";" '{print $1}'`
    环境=`echo ${xxx} | awk -F ";" '{print $2}'`
    文件名=`echo ${xxx} | awk -F ";" '{print $3}'`
    appid=`echo ${xxx} | awk -F ";" '{print $4}'`
    buildwx ${环境} ${文件名} ${客户名}
    upload ${文件名} ${appid} ${version}
    echo "$客户名 上传完毕"
    } &
    done
    wait 
    echo "全部完成"
    

    就这样,将Jenkins的整个时间,从40分钟,降到了3分钟。

    相关文章

      网友评论

          本文标题:无星的前端之旅(五)——小程序批量发布如何压缩打包时间

          本文链接:https://www.haomeiwen.com/subject/lvphnhtx.html