用Jenkins搭建项目发布平台--四.实战-参数化构建

721 阅读2分钟

前言

在前面三章中,我们已经完成了一整个发布流程的闭环,但还不够,我们要做成工程化,可以指定项目,指定分支,指定发布的环境.

参数化构建

参数化构建,故名思意,就是根据远程URL带入的参数进行构建,在构建时拿取的是参数里的值.这样就能做到,我一个任务,可以完成多个功能.

打开我们之前的项目配置,勾选此项目为参数构建的选项

image.png

添加参数,我们选择类型为string类型的

image.png

我们添加branchenv两个参数,前者是要发的分支,后者是环境,默认值为masterproduction

image.png

在源码管理里,把批定的分支设为我们的参数变量

image.png

在构建命令里写入我们参数化的shell命令

#!/bin/sh -l

cd /Users/zfy/.jenkins/workspace/myItem
yarn
rm -rf dist
case $env in
	dev)
    	{
            echo "dev:$env"
            yarn devBuild
        }
        ;;
        production)
        {
            echo "procuction:$env"
            yarn build
        }
        ;;
        *)
        exit
        ;;
        esac

这里前面的命令与前一章里的命令一致,不同的是在构建的时候,根据入参的不同,运行不同的构建命令.

完成后,我们访问地址http://xxx.xxx.xxx.xxx:8080/buildByToken/buildWithParameters?job=myItem&token=xxxx&branch=xx&env=xx,就可以在任务列表里看到任务已经开始在启动构建了.

到此,我们完成了参数化构建,那么如何发到对应的测试服务器和线上服务器呢,甚至于同环境的多台服务器,目前笔者还没有遇到要发到多台服务器的项目,但发布到不同环境的服务器上肯定是要有的

打开项目的配置,找到我们配置服务器的地方,点击高级选项

image.png

在label里输入dev的名称

同理添加production的服务器

点击最下方的高级

image.png

勾选通过参数来发布选项,输入参数名server

image.png

保存配置,访问地址http://xxx.xxx.xxx.xxx:8080/buildByToken/buildWithParameters?job=myItem&token=xxxx&branch=xx&env=xx&server=xx,就可以选择不同的项目,不同分支,不同的环境并发布到不同的服务器上.