博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Jenkins不同job之间传递参数
阅读量:5915 次
发布时间:2019-06-19

本文共 2360 字,大约阅读时间需要 7 分钟。

有的时候不同job直接需要传递一个文件名或者路径,这个时候我们不需要传递文件实体,那这个路径如何传递呢?比如有如下两个项目,我想把A的工作目录传递给B,让B使用。

这里写图片描述

A job配置

首先需要安装一个Parameterized Trigger Plugin插件:

这里写图片描述

安装后重启。

在A项目配置面板中Post-build Actions选项中选择Trigger parameterized build on other projects

我选择的参数为预定义参数,如果想知道有哪些与定义参数,可以在Build模块下选择Execute shell

这里写图片描述

选在文本框下的the list of available environment variables 选项,可以查看如下信息:

The following variables are available to shell scriptsBUILD_NUMBER    The current build number, such as "153"BUILD_ID    The current build id, such as "2005-08-22_23-59-59" (YYYY-MM-DD_hh-mm-ss)BUILD_DISPLAY_NAME    The display name of the current build, which is something like "#153" by default. JOB_NAME Name of the project of this build, such as "foo" or "foo/bar". (To strip off folder paths from a Bourne shell script, try: ${JOB_NAME##*/}) BUILD_TAG String of "jenkins-${JOB_NAME}-${BUILD_NUMBER}". Convenient to put into a resource file, a jar file, etc for easier identification. EXECUTOR_NUMBER The unique number that identifies the current executor (among executors of the same machine) that’s carrying out this build. This is the number you see in the "build executor status", except that the number starts from 0, not 1. NODE_NAME Name of the slave if the build is on a slave, or "master" if run on master NODE_LABELS Whitespace-separated list of labels that the node is assigned. WORKSPACE The absolute path of the directory assigned to the build as a workspace. JENKINS_HOME The absolute path of the directory assigned on the master node for Jenkins to store data. JENKINS_URL Full URL of Jenkins, like http://server:port/jenkins/ (note: only available if Jenkins URL set in system configuration) BUILD_URL Full URL of this build, like http://server:port/jenkins/job/foo/15/ (Jenkins URL must be set) JOB_URL Full URL of this job, like http://server:port/jenkins/job/foo/ (Jenkins URL must be set) SVN_REVISION Subversion revision number that's currently checked out to the workspace, such as "12345" SVN_URL Subversion URL that's currently checked out to the workspace.

ok,回到正题,具体配置如下:

这里写图片描述

我将A项目的工作目录传递给了自定义参数TEST_WORKSPACE.到这里A项目的配置就完成了。

B job配置

我们在A项目配置的TEST_WORKSPACE参数,如果在B job中使用,首先我们在配置界面中,勾选The build is parameterized。具体配置信息如下所示:

这里写图片描述

这样我们就在当前工作环境中得到了由A传递过来的参数。至于你怎么使用,那是你的事了。比如我在shell脚本中首先切换到该目录下(需要在一台机器上),然后在A项目的工作目录下生成一个hello.txt文档,我们可以在shell命令下配置如下信息:

这里写图片描述

ok,配置完成了,这个时候我们构建A,看看能不能让B在A的工作目录下生成一个hello.txt文档。

这里写图片描述

Done!

你可能感兴趣的文章
Eclipse 的快捷键以及文档注释、多行注释的快捷键
查看>>
GridView视图(BaseAdapter)
查看>>
[Everyday Mathematics]20150117
查看>>
kill me heal me的链接
查看>>
集团企业信息化参考一
查看>>
RedHat Linux 下安装MPlayer 编译源代码方式
查看>>
一个排序算法的解析
查看>>
【HDU】1848 Fibonacci again and again
查看>>
老鸟的Python新手教程
查看>>
关于前端开发的20篇文档与指南
查看>>
程序员保持快乐活跃的6个好习惯(转)
查看>>
【转】linux /usr/bin/ld cannot find 解决
查看>>
T-SQL技术收集——删除重复数据
查看>>
SQL中各数据类型的长度、精度
查看>>
webpack-dev-server
查看>>
python发送邮件
查看>>
DIY一个自己的音乐播放器
查看>>
golang使用protobuf
查看>>
安卓开源项目周报0315
查看>>
少年,你想在vue的世界里掌控雷电吗,没错,看这个分享就对了!
查看>>