1、pipelineLibraries使用
首先在jenkins的系统设置里配置pipelineLibraries。
pipelineLibraries通常都存放在git上,并且文件目录结构是固定的
pipeline脚本存放在vars下。jenkins中的所有job均可使用这些pipeline脚本,可减少重复工作。
2、jenkins创建pipeline流水线job,
在脚本中可调用所配置的pipelineLibraries。generateQaPipeline就代表调用git libriries仓库中的哪一个pipeline脚本。
env.XMS=2048,env环境变量参数可以将XMS参数直接传入所调用的shell脚本中,使shell脚本中的XMS参数设置为指定值
'java-server'代表type,所以这一个pipeline脚本里就可以配置非常多的类型,每个类型都走不同的部署方式。
def map代表增加customParams。例如map.put('gitUrl','xxxxxxxxx'),那么在pipeline脚本中可获取到该用户自定义参数。
3、parameters的使用。
在构建项目时,肯定会有很多变量参数,这些参数可使部署变得更自由。
这些用户自定义变量都可以在shell脚本中引用。例如DEPLOY_ENV,在shell脚本中可通过$DEPLOY_ENV引用。
4、配置jenkins系统全局属性。
通过key:value的方式,配置全局变量。
在pipeline脚本中可通过该方式来执行所指定的shell脚本。
5、shell脚本中使用用户自定义变量
可通过此脚本得到jenkins job执行时所传入的用户自定义变量
再往下的shell脚本中就可以通过 ${xxx}的方式来得到此变量
6、变量这些都定义好后。就可以在shell脚本中编写代码构建、dockerfile构建等的脚本。
当然,也可以不通过此方式来进行这些job的构建,但是每一个job就要新建一次,脚本就要复制一次。通过此方式,可减少冗余。
7、shell脚本
ssh $REMOTE_USER_NAME@$SERVER_IP "docker exec -i $DOCKER_SERVICE_NAME bash /usr/local/jdk/use_repeater.sh"
通过ssh方式远程连接到目标服务器,执行docker命令,执行docker 容器中的shell脚本。