Jenkins + Build Flow,如何将变量从一个作业传递到另一个作业

2024-01-22

我有一个类似于以下的构建流程场景文档示例 https://wiki.jenkins-ci.org/display/JENKINS/Build+Flow+Plugin: 两项工作,一项紧随另一项。

b = build("job1")
build("job2", param1: b.????)

My job1是一个 shell 脚本,它从签出的 git 存储库中构建包并打印出构建包的版本。

我需要从中提取版本job1(解析输出??)并以某种方式将其作为参数提供job2。如何才能实现这一目标?请注意,运行前我无法知道版本job1.


简单使用的问题exportshell 脚本构建步骤中的一个问题是,当 shell 脚本退出时,导出的变量会消失,它们不会传播到作业。

Use the EnvInject 插件 https://wiki.jenkins-ci.org/display/JENKINS/EnvInject+Plugin在您的构建中创建环境变量。如果你 写出一个属性文件作为构建的一部分,EnvInject 可以读取该文件并注入变量作为构建步骤 https://wiki.jenkins-ci.org/display/JENKINS/EnvInject+Plugin#EnvInjectPlugin-Injectvariablesasabuildstep。属性文件有一个简单的KEY=VALUE format:

MY_BUILD_VERSION=some_parsed_value

在作业中设置环境变量后,在构建流程中 插件,您可以提取变量的值并在后续作业中使用它:

def version = build.environment.get( "MY_BUILD_VERSION" )
out.println String.format("Parameters: version: %s", version)
build( "My Second Build", MY_BUILD_VERSION: version )
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Jenkins + Build Flow,如何将变量从一个作业传递到另一个作业 的相关文章

  • 如何删除詹金斯中的旧版本? [复制]

    这个问题在这里已经有答案了 我从 Jenkins 的构建目录中删除了旧的构建文件夹 希望它们在 UI 中删除 不幸的是 虽然这些构建目录消失了 但它们的 UI 链接仍然存在 我现在有两个问题 如何删除用户界面中失效的链接 如何从 cli 中
  • 在脚本内使用不带密码的 sudo

    由于某种原因 我需要作为用户在没有 sudo 的情况下运行脚本 script sh 该脚本需要 root 权限才能工作 我认为将 sudo 放入 script sh 中是唯一的解决方案 让我们举个例子 script sh bin sh su
  • 如何在 Bash 中给定超时后终止子进程?

    我有一个 bash 脚本 它启动一个子进程 该进程时不时地崩溃 实际上是挂起 而且没有明显的原因 闭源 所以我对此无能为力 因此 我希望能够在给定的时间内启动此进程 如果在给定的时间内没有成功返回 则将其终止 有没有simple and r
  • 是否可以创建一个脚本来保存和恢复权限?

    我正在使用 Linux 系统 需要对一组嵌套文件和目录进行一些权限实验 我想知道是否没有某种方法可以保存文件和目录的权限 而不保存文件本身 换句话说 我想保存权限 编辑一些文件 调整一些权限 然后将权限恢复到目录结构中 将更改的文件保留在适
  • 需要一些建议来开始在 ARM(使用 Linux)平台上编程

    我 也许 很快就会在托管 Linux 发行版的 ARM 平台上工作 我不知道哪个发行版 我知道该项目涉及视频流 但我无法告诉你更多信息 其实我只收到通知 还没见到任何人 我从来没有在这样的平台上工作过 所以我的想法是在项目开始之前进行测试
  • php exec 返回的结果比直接进入命令行要少

    我有一个 exec 命令 它的行为与通过 Penguinet 给 linux 的相同命令不同 res exec cd mnt mydirectory zcat log file gz echo res 当将命令直接放入命令行时 我在日志文件
  • 如何减去两个 gettimeofday 实例?

    我想减去两个 gettimeofday 实例 并以毫秒为单位给出答案 这个想法是 static struct timeval tv gettimeofday tv NULL static struct timeval tv2 gettime
  • 在两次之间每分钟执行一次 Cronjob

    我需要在 crontab 中每分钟运行一个 bash 脚本8 45am and 9 50am每天的 Code 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 8 home pull sh gt ho
  • 我如何知道 C 程序的可执行文件是在前台还是后台运行?

    在我的 C 程序中 我想知道我的可执行文件是否像这样在前台运行 a out 或者像这样 a out 如果你是前台工作 getpgrp tcgetpgrp STDOUT FILENO or STDIN FILENO or STDERR FIL
  • 监视目录的更改

    很像一个类似的问题 https stackoverflow com questions 112276 directory modification monitoring 我正在尝试监视 Linux 机器上的目录以添加新文件 并希望在这些新文
  • Jenkins:如何使由于工作区问题而导致的失败构建的颜色从红色变为灰色?

    我们的詹金斯构建应该只是red当有一个构建代码时出现问题比如编译问题 如果存在管理员问题 例如工作空间已满 某些从属设备已关闭 我们需要将这份工作变成gray 表明有一个詹金斯本身的问题 但开发商应该not保持高度戒备 这是一个需要将作业变
  • 子目录中的头文件(例如 gtk/gtk.h 与 gtk-2.0/gtk/gtk.h)

    我正在尝试使用 GTK 构建一个 hello world 其中包括以下行 include
  • 如何在 Jenkins 构建之前自动合并 Git 分支?

    如何在 Jenkins 构建之前自动合并 Git 分支 我有 2 个版本 一个用于分支master和一个用于生产 我想做 Git 合并origin master当我进行生产构建时 Jenkins 上最新的 Git 插件支持这一点 刚刚设置C
  • 快速像素绘图库

    我的应用程序以每像素的方式生成 动画 因此我需要有效地绘制它们 我尝试过不同的策略 库 但结果并不令人满意 尤其是在更高分辨率的情况下 这是我尝试过的 SDL 好的 但是慢 OpenGL 像素操作效率低下 xlib 更好 但仍然太慢 svg
  • 如何查询X11显示分辨率?

    这似乎是一个简单的问题 但我找不到答案 如何查询 通过 X11 存在哪些监视器及其分辨率 查看显示宏 http tronche com gui x xlib display display macros html and 屏幕宏 http
  • 在 C++ linux 中将 STRINGS 写入串口

    我知道这个问题遍布互联网 但仍然没有任何东西能让我完全解决这个问题 我想用 C linux 将数据写入 Propeller 板的串行端口 从控制台获取输入时程序运行良好 但是当我向它写入字符串时总是返回 ERROR Invalid comm
  • 如何在 GNU/Linux 上设置 Subversion (SVN) 服务器 - Ubuntu [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一台运行 Ubuntu 的笔记本电脑 我想将其用作 Subversion 服务器 既让我自己在本地承诺 也让其他人远程承诺 要使其
  • 如何在多进程系统中实现锁定?

    我们正在并行运行许多詹金斯项目 我们使用 python 并且选择使用 pyenv 管理虚拟环境 不幸的是 pyenv 有一个众所周知的竞争条件 https github com yyuu pyenv issues 174 为了解决这个问题
  • Fedora dnf 更新不起作用?

    当我尝试使用 update 命令更新 Fedora 22 时 sudo dnf update 我收到以下错误 错误 无法同步存储库 更新 的缓存 无法准备内部镜像列表 Curl 错误 6 无法解析主机名 无法解析主机 mirrors fed
  • 嵌入式linux编写AT命令

    我在向 GSM 模块写入 AT 命令时遇到问题 当我使用 minicom b 115200 D dev ttySP0 term vt100 时它工作完美 但我不知道如何在 C 代码中做同样的事情 我没有收到任何错误 但模块对命令没有反应 有

随机推荐

  • Actionmailer - Sparkpost 模板和多语言

    这是我第一次在 Rails 项目中设置邮件 我被告知要使用 SparkPost 并为多个操作的不同语言创建模板 为了简单起见 我们假设一封 user signed up user 邮件 目前我的设置有效 安装的宝石 sparkpost ma
  • 在服务器 JRE 与 JRE 中运行应用程序的主要区别是什么? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我在oracle网站上看到有两种类型的jre下载 在服务器 JRE 与 JRE 中运行我的应用程序有什么区别 选择一种运行时环境而不是另一
  • 自定义 PowerShell 提示[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 带有“#”的意图过滤器路径前缀不起作用

    我正在尝试设置一个意图过滤器 以便在用户单击以下 URI 时启动我的活动 example com pathA pathB pathC someGUID 所以我将以下 XML 添加到清单文件中
  • 从 UICollectionView 索引路径获取模型

    我在用着RxSwift将模型数组绑定到集合视图 如何从给定的indexPath获取模型对象 我正在像这样进行绑定 vm bikeIssueCatagories drive self collectionView rx items cellI
  • Docker 创建了两个桥来破坏我的互联网访问

    我面临一个非常奇怪的问题 这是我的配置 docker 17 ce ubuntu 16 04 我在两个不同的地方与不同的互联网提供商工作 首先 一切工作正常 我可以开箱即用地运行 docker 并毫无问题地访问互联网 但第二 当 docker
  • 在没有输出文件的情况下调用 aws lambda

    我正在尝试使用 CLI 在 AWS 上调用 lambda aws lambda invoke function name GetErrorLambda payload body Id 321 123 output 我想知道是否有办法在 cl
  • 链接服务器和同义词之间的区别?

    t sql链接服务器和同义词有区别吗 如果是的话 它们是什么 在什么情况下我会选择其中之一 您使用链接服务器连接到不同服务器上的数据库 您使用同义词来指定要在 SQL 中访问的对象 例如表 它就像别名 欲了解更多信息 请参阅here htt
  • String.Format 在字符串内存储双引号[重复]

    这个问题在这里已经有答案了 我想表示以下字符串 aaaa 23 something inside double quotes 99 8 7 我想用这个来做到这一点String Format StringBuilder AppendLine
  • 在 Spring Security 中使用自定义异常

    我创建了一个自定义AuthenticationProvider执行自定义安全检查 我还创建了继承自的自定义异常AccountStatusException通知用户状态问题 例如用户在特定时间段内未验证其帐户 我的UserDetails也是一
  • 如何测量 React 16 中浪费的渲染?

    我之前用过反应插件性能 https reactjs org docs perf html printwasted包来测量各种东西 例如浪费的渲染通过Perf printWasted 不幸的是 这个包在 React 16 中被淘汰 取而代之的
  • screen.width/height 给出有关屏幕分辨率的错误信息

    我的屏幕分辨率为 1200 x 800 但此脚本给我的分辨率为 1429 x 893 为什么它不起作用 附注在其他网站上这段代码screen width screen height但是当在本地主机上运行它时 它会给出错误的信息 From M
  • 如何在我的 searchcontroller 中使用 queryStartingAtValue 来搜索用户?

    我之前曾问过一个关于以最具成本效益的方式搜索用户的问题 无需加载整个数据库中的每个用户 问题之前我的代码是 class FollowUsersTableViewController UIViewController IBOutlet var
  • NVML 头文件丢失

    我正在尝试执行一些 CUDA 代码 该代码恰好有一些 NVML 库函数 如 nvmlSystemGetDriverVersion 但是 当我尝试编译代码时 它说找不到 nvml h 由于 nvml h 似乎不存在 我应该如何在我的系统上安装
  • 将矩阵从 3d 重塑为 2d 并保留行

    我正在将 3d 矩阵转换为 2d 矩阵 这是形状变换 n x m x o gt n o x m 矩阵的元素与行相关 因此 结果矩阵中需要具有相同的行 A rand 2 2 3 这样做 C reshape A 2 3 2 不保留 A 中的行
  • Django 重定向到自定义 URL

    在我的 Django 应用程序中 如何将用户重定向到 somescheme someurl com 为了给您一些背景信息 以防有帮助 我有一个用 Python Django 编写的工作 oauth2 服务器 我需要允许用户注册具有自定义 U
  • 为所有Java组件设置相同的字体

    我想为 a 中的所有组件设置特定字体JPanel但我更喜欢这个问题更笼统 不限于 JPanel 如何将字体设置为容器 JFrame 或 JPanel 中的组件列表 这是一个简单的方法 允许您为任何容器 或 只是一个简单的组件 没关系 下的整
  • 原则 2:水合键值数组

    为什么这个查询不起作用 query this gt em gt createQuery SELECT COUNT p AS products count FROM Application Entity Category c INDEX BY
  • git + mountain lion + dyld:惰性符号绑定失败:找不到符号:___strlcpy_chk

    操作系统 Mac OS 10 8 3 xcode 安装了 4 6 3 w 命令行工具 usr local bin git gt usr local git bin git 有什么想法如何解决吗 我能够找到关于a 安装命令行工具和b 确保 u
  • Jenkins + Build Flow,如何将变量从一个作业传递到另一个作业

    我有一个类似于以下的构建流程场景文档示例 https wiki jenkins ci org display JENKINS Build Flow Plugin 两项工作 一项紧随另一项 b build job1 build job2 pa