Jenkins 构建springcloud 微服务项目

作者: walker86 | 来源:发表于2020-04-09 11:36 被阅读0次

    背景

    目前大部分开发团队采用 Springcloud 等微服务框架,在 Git 仓库中会分多个模块文件夹,但是实际开发测试过程中,我们并不需要全量更新,
    只需编译相应的服务及依赖模块即可,目前各团队在 Jenkins 上的构建 job 大部分都是一个服务/模块创建一个构建 job,看起来非常的庞杂和臃
    肿,这里介绍如何结合参数化构建实现只编译打包制定的模块文件夹。

    环境准备

    安装 Extended Choice Parameter , 目前公用Jenkins上已安装好,此步骤可忽略

    Jenkins配置

    启用参数化构建

    第一步:启动参数化构建
    第二步:选择 Extended Choice Parameter ,如下图

    image.png
    参数化配置

    按如下图片设置各参数的细节

    image.png
    编写 Shell

    按如下图片设置各参数的细节
    其中,Shell 脚本的变量 WORKSPACE 就是指的工作区目录,也是制定到拉取git仓库后的目录
    变量 module_name 是 上一步配置的那个参数名称
    这里因为是多选项, ${module_name }输出是 ratel-common,ratel-service-righ t这种形式,所以要做一下格式化处理,这里用的是
    awk 切割 ,各位同学也可以像其他办法单独取出模块名
    此外,Maven执行的命令最好使用绝对路径,使用系统环境变量有可能会找不到

    image.png

    相关 Shell 脚本如下:

    echo ${module_name}| awk -F',' -v OFS='\n' '{var=$1;$1=var;print $0}'> 1.
    txt
    while read line
    do
    cd ${WORKSPACE}/${line}
    /app/maven/bin/mvn clean install -Dmaven.test.skip
    echo "${line} "
    done<1.txt
    

    查看效果

    查看效果如下,参数化构建选择界面已产生


    image.png

    控制台查看输出


    image.png image.png

    可以看出,想要的效果已经实现了。

    相关文章

      网友评论

        本文标题:Jenkins 构建springcloud 微服务项目

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