jenkins+shell执行

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脚本。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容