美文网首页
[打包]Jenkins + maven + 发布打包流程优化

[打包]Jenkins + maven + 发布打包流程优化

作者: Wayne维基 | 来源:发表于2020-07-07 20:29 被阅读0次

背景

1 项目的开发环境用jenkins + maven进行自动构建
2 通过shell脚本分发到每个机器并重启
整个流程原来4min,开发环境要应对频繁的修改,这个时间难以接收,于是开始一波优化。

先定位耗时点

1 maven 编译大约2-3min
2 分发 1 min
3 其他,打包之后没有主动通知,有流程耗时。

解决

  • 先解决maven

  • 首先,修改setting.xml配置,尽可能使用访问速度比较快的仓库

  • 其次,打包指令注意一下,生成jar包通常到package即可

    • mvn clean package依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)等7个阶段。
    • mvn clean install依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install等8个阶段。
    • mvn clean deploy依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install、deploy等9个阶段。
  • 再次,跳过测试: -Dmaven.test.skip=true

  • 再次,多线程编译:-Dmaven.compile.fork=true


    image.png
  • 解决分发

    • 每个服务scp改为并发分发 加入 & 变成后台运行
    • 通过wait等待所有线程结束
    • 加入时间 打印知道每个环节时间 time_now=$(date "+%Y-%m-%d %H:%M:%S:%N")
    for node in ${api_host_all[@]};
    do {
    scp xxx
    } &
    done
    wait
    time_now=$(date "+%Y-%m-%d %H:%M:%S:%N")
    
  • 加入通知,打包成功后立刻通知办公软件
    通知到企业微信 or 钉钉,这个网上教程很多,而且办公软件更新很快,这个就不贴了。

其他

相关文章

网友评论

      本文标题:[打包]Jenkins + maven + 发布打包流程优化

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