是否可以在groovy函数上设置环境变量

2024-03-02

我知道我可以在一个阶段有一个关于詹金斯管道(声明性)的环境部分。 像这样:

stage('Name') {
    environment {
        NAME = value
    }   
    steps {
        script {
            Do something using these env vars
        }
    }
} 

我想编写一个常规函数,定义一些环境变量,运行一些东西,并从几个管道中调用它。 就像是:

def function () {
    environment {
        NAME = value
    }
    sh "do something using these env vars"
}

有可能吗?

(我知道我可以写sh "ENV=value; some CMD"但我的变量很少,而且可读性较差)。


是的,你可以这样做。 Jenkins Pipeline 将其环境变量存储在名为的映射中ENV。因此,您可以向此映射添加其他键值对以获取其他环境变量。这可以通过 Groovy 语法完成:

// syntax option one
env.key = value
// syntax option two
env['key'] = value

对于您的示例,这看起来像:

def function () {
  env.NAME = value
  sh "do something using these env vars"
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否可以在groovy函数上设置环境变量 的相关文章

随机推荐

  • 如何将 tex 添加到八度图

    我有一个条形图 我使用 text 在每个条形上方显示分数 例如 text 1 20 300 400 在位置 1 20 处显示字符串 300 400 我现在想美化分数 以便出现 300 over 400 300 400 有没有办法做到这一点
  • 在 Windows 资源管理器中显示文件

    我最喜欢的 IDEWing IDE http www wingware com 有一个用于在资源管理器中显示活动文件的命令 这意味着当您启动该命令时 它会在文件所在的文件夹上打开一个资源管理器窗口 然后选择该文件 问题是 如果窗口已经打开
  • 如何更改 OAuth2RestTemplate 中 MappingJacksonHttpMessageConverter 的 MediaType

    我有一个应用程序 它使用 Spring Source OAuth2 作为客户端从资源服务器检索用户数据并创建本地用户 当 OAuth2ClientContextFilter 尝试检索令牌时 我不断收到错误 org springframewo
  • Gnuplot 绘制两个 CSV 文件的排序合并

    我正在尝试合并和排序两个 CSV 文件 跳过前 8 行 我尝试按我使用的第 36 列对其中一个文件进行排序 awk NR gt 8 print Hight 5x5 csv sort nk36 并合并两个文件 cat Hight 5x5 cs
  • 如何让PHP自动为每个用户创建子域?

    如何创建子域http user mywebsite example 我必须访问吗 htaccess不知何故 实际上是否可以通过纯 PHP 代码创建它 或者我需要使用一些外部脚本服务器端语言 对于那些回答的人 那么 我应该询问我的托管服务是否
  • 转换为值类型“Double”失败,因为具体化值为 null

    CODE double cafeSales db InvoiceLines Where x gt x UserId user UserId x DateCharged gt dateStart x DateCharged lt dateEn
  • 如何在 Java 中抛出一般异常?

    考虑这个简单的程序 该程序有两个文件 File 车辆 java class Vehicle private int speed 0 private int maxSpeed 100 public int getSpeed return sp
  • 将 div 浮动在右下角,但不在页脚内

    我正在尝试实现一个浮动在页面右下角的 转到顶部 按钮 我可以使用以下代码来完成此操作 但我不希望此按钮进入我的页面的页脚 当用户将页面向下滚动到页面底部时 如何阻止它进入页脚并停留在页脚顶部 CSS to top position fixe
  • C++ - 区间树实现

    有人知道有什么好办法吗interval tree在C 中实现 显然 模板驱动的东西更好boost 风格 还有一个问题 如果有人测试过 会做一个基本的测试std vector基于排序的区间树实现可以击败通用区间树 O lg 运算 在实践中 我
  • JQuery:在“内存”而不是 DOM 中构建 HTML

    有没有办法在将 HTML 片段添加到 DOM 之前 预先构建 它 例如 mysnippet append h1 hello h1 mysnippet append h1 world h1 destination append mysnipp
  • JavaScript 函数声明

    下面给出的 JavaScript 代码片段是某种函数声明吗 如果没有 有人可以概述一下它们是什么吗 some func function value some code here and show function value some c
  • 如何复制视图的所有属性?

    我正在创建一个货币汇率应用程序来学习 Android 该应用程序将在列表中列出所有汇率 每个汇率都有这样的布局 本质上
  • 指针到指针到指针[重复]

    这个问题在这里已经有答案了 可能的重复 用于多级指针取消引用 https stackoverflow com questions 758673 uses for multiple levels of pointer dereferences
  • React Native - 如何在地图函数中传递索引

    我有一个地图函数来重复动态地创建组件 假设是这样的 renderBoxes return Array map data gt this myFunction indexOfThisArray 如何传递数组的索引 这样 myFunction
  • 将视图从一种布局动画化到另一种布局

    检查附图以方便解释 翻译动画可以工作 但它会在同一视图内进行动画处理 我希望视图从一种布局飞出到另一种布局 我从这里的另一个答案尝试过这个 相同布局的动画 public class Animations public Animation f
  • 无法在 PHP 中创建不区分大小写的正则表达式

    我无法在 php 中创建有效的正则表达式 我在用着i标记为正则表达式模式 但它不会对我的脚本的结果产生影响 page Test page1 test var dump preg match test i page int 0 var dum
  • 为引用的程序集引发 FileNotFoundException

    我真的很奇怪FileNotFoundException第一次尝试使用我引用的程序集中定义的类时抛出 程序集没有更改 项目文件中的位置与磁盘上的物理路径正确对应 当我将安装程序添加到 Windows 服务和安装项目时 由两个库项目 一个 Wi
  • iOS8后台获取问题

    我在 ios8 之前使用后台获取没有问题 但在 ios8 中 当我在手机上模拟后台获取时 我首先收到一条错误消息 指出我无权播放声音 因此我没有收到任何本地通知 然后打开应用程序后 应用程序崩溃 我收到这个奇怪的错误 由于未捕获的异常而终止
  • fetch.max.wait.ms 与 poll() 方法的参数

    在提出问题之前 我想指出已经有人提出了类似的问题here https stackoverflow com questions 50302119 apache kafka understanding the relationship betw
  • 是否可以在groovy函数上设置环境变量

    我知道我可以在一个阶段有一个关于詹金斯管道 声明性 的环境部分 像这样 stage Name environment NAME value steps script Do something using these env vars 我想编