groovy相关内容
在 Jenkins 的 groovy 中是否有一种方法可以获取任意字符串变量——比如对另一个服务的 API 调用的结果——并让 Jenkins 在控制台输出中将其屏蔽,就像它自动为从凭据管理器读取的值所做的那样? 解决方案 更新解决方案:要隐藏变量的输出,您可以使用 Mask Password Plugin 这是一个例子: String myPassword = 'toto'节点{
..
从并行步骤收集数据(例如通过/失败结果)的最佳方式是什么. 到目前为止我已经达到了什么: #!groovydef fspam(名称,垃圾邮件){spam[name] = "也去过那里"}//管道节点('奴隶'){阶段(“测试"){目标 = ["a", "b"]定义任务 = [:]默认垃圾邮件 = [:]目标.each{ 任务["${it}"] = {节点('奴隶'){echo "试运行 $
..
我想构造一个 JSON 对象并将内容写入文件. 最初我受到这个的启发并尝试: def 数据 = [一个:“测试:$ {myVar}"]writeJSON(文件:'message1.json',json:数据) 但这失败了: 无法为 WriteJSONStep(file: String, json: JSON{}, pretty?: int) 实例化 {file=message1.j
..
我查看了许多管道示例以及如何在管道脚本中编写后期构建部分.但从来没有得到我正在寻找的答案.我有 4 个作业 - 比如说作业 A、B、C 和 D.我希望作业 A 先运行,如果成功,它应该并行触发作业 B、C、D.如果作业 A 失败,它应该只触发作业 B.如下所示: 管道{代理任何阶段{阶段('Build_1'){脚步 {嘘'''建立工作 A'''}}邮政 {失败 {嘘'''构建作业 B'''}成功
..
我正在尝试使用 for 循环并行运行构建列表,因为代码越来越大. 我有一个包含项目名称的全局列表 @Field def final String[] projectsList = ['project1','project2', 'project3'....]阶段{阶段('并行构建'){脚步{脚本{def 分支 = [:]for(int i = 0;i 最简单(但几乎不是最优雅)的解决方案是
..
我正在设置一个新版本.运行一个简单的 shell 命令效果很好,如下所示: stage("Demo") {sh “回声‘你好’"} 我一直在尝试将我的 shell 脚本“打包"到它们自己的类中,只是为了稍微整理一下.问题是,当尝试从一个类中执行相同的 shell 脚本时,jenkins 会导致构建失败: org.jenkinsci.plugins.scriptsecurity.sandb
..
首先,我是 Java、Groovy 和 Jenkins 的新手,所以请耐心等待;) 我正在准备一个支持流水线的 Jenkins 服务器,以备将来在我们的构建环境中使用.我们使用一种特殊的内部脚本语言,为此我必须用 java 编写一个包装器.没有选项只能在 Groovy 中完成这项工作,我们必须使用这种特殊的语言. 我尝试了很多方法来将 java 库引用到这个 jenkins 项目,但都
..
我有一个简单的 groovy 脚本: 节点(“主"){echo "我即将尝试使用 String.format"def jjj = String.format("bob")回声} 如果我将此脚本直接放入我的作业配置并运行它,它运行良好. 但是,如果我将该脚本放入一个文件中,然后通过“来自 SCM 的工作流脚本"加载该文件,我会收到错误 org.jenkinsci.plugins.scri
..
如何将 Jenkins 管道中的所有参数转换为小写.与 trim 类似,是否有一个属性可以作为参数声明的一部分添加, 对于修剪,我有类似下面的内容, 参数{string defaultValue: '', description: 'Some dummy parameter', name: 'someparameter', trim: true} 在我的管道工作中,我有超过 10 个字符
..
我正在尝试从 groovy 中的正则表达式中获取匹配的字符串.匹配的字符串打印到控制台没有问题,但是当我尝试在 git 命令中使用匹配的字符串时,我收到以下错误: Err: Incremental Build failed with Error: java.io.NotSerializableException: java.util.regex.Matcher 代码如下: def bina
..
我正在尝试获取报告的构建持续时间,但它总是返回 0. 通过阅读文档、浏览 Slack 插件源和阅读其他资源,我应该能够执行以下操作之一: def 持续时间 = currentBuild.durationdef 持续时间 = currentBuild.durationStringdef 持续时间 = currentBuild.durationString()def 持续时间 = curren
..
我想在我的管道作业中使用 EnvInject 插件.因此,我可以设置复选框“为运行准备环境",但没有“注入环境变量"操作,就像在自由式作业中一样.我在“属性内容"块中声明了我的变量: 如何使用 EnvInject 在管道作业中注入环境变量? 解决方案 如果您在“属性内容"块中声明了以下变量: param1=value1参数 2=值 2 然后你可以在这里将它们放入管道中: /
..
我无法在脚本化的 Jenkins 流水线中的给定目录中创建简单的文件名列表.我尝试了许多在 SO 和其他论坛上发布的 Groovy 脚本示例,但要么该功能被阻止,要么我找不到方法或其他什么. 这似乎是最简单的 def DOCKER_FILES_DIR = './dockerfiles'//...def dir = 新文件(DOCKER_FILES_DIR);def dockerfiles
..
之前问了一个问题关于如何覆盖变量在环境指令中定义,这似乎是不可能的. 我想在一个阶段设置一个变量,并让其他阶段可以访问它.在声明式管道中,执行此操作的唯一方法似乎是在脚本块中. 例如,我需要在结帐后设置一些变量.因此,在结帐阶段结束时,我有一个脚本{} 块来设置这些变量,并且它们可以在其他阶段访问. 这行得通,但感觉不对.为了便于阅读,我更喜欢在管道顶部声明这些变量并覆盖它们.因
..
首先,我将管道完全编写为 groovy,以便签入到 git.请不要提供任何 gui 必要的解决方案.我的问题陈述是: 从文件中提取变量并将其设置为 groovy 对象. 我试过的 def SERVICE_MAJOR_VERSION节点{运行GitClone(GIT_REPO_URL,GIT_HASH)def conf = readFile("gradle.properties")回声
..
如果有一个体面的完整代码示例,说明如何在 Jenkins Pipeline 插件中将参数(参数化构建)从 JobA 传递到 JobB,将不胜感激? 我正在使用如下脚本,无法从文档中了解如何从 JobA 访问参数,例如 JobB 中的构建步骤 shell 脚本: 构建作业:'JobA',参数:[[$class:'StringParameterValue',名称:'CVS_TAG',值:'te
..
TL;DR:显然,在 Jenkins 管道作业中,您可以轻松地向下游传递参数.我想知道的是您是否可以将它们传递到上游. 用例: 我们有三份工作;job_one、job_two 和 job_three.这些通常单独运行,因为只需要一个阶段,但在越来越频繁的情况下,我们希望能够背靠背运行所有三个阶段. 第一个和第二个依赖于您可以提前定义的参数,但第三个需要从第二个作业生成的参数(在
..
我正在 Jenkins 中编写一个管道作业,它在管道控制台输出中显示下游作业的输出控制台.到目前为止,该作业正在运行,但由于管道作业本身添加到输出中的所有回声线,输出真的很难读取. 由用户 john.doe@cdf.com 发起[管道]分配节点:开始在/srv/jenkins-slave/workspace/UUT 自动回归的 swqa-pr-prod-slave-1 上运行 - 1.20[管道
..
我需要能够在我们的 Jenkins Pipeline 构建期间创建简单的 HTTP POST 请求.但是我不能使用简单的 curl sh 脚本,因为我需要它在 Windows 和 Linux 节点上工作,如果可以避免的话,我不希望在节点上强制安装更多工具. 我们正在使用的 Pipeline 插件中使用的 Groovy 库应该非常适合这项任务.Groovy 有一个可用于执行简单 POST 的扩
..
我在下面的代码中看到了这条消息在 JENKINS-44085. 如果我已经有一个包含 50 个项目的分支地图,但我想一次将它们并行 5 个,我需要如何修改此代码?我的代码已经在一个名为分支的 var 中有一个包含 50 个项目的映射. //将一些项目放入队列以允许该数量的分支运行for (int i=0;i 解决方案 这个问题有点老了,但对我来说这个问题昨天也很相关.在某些情况下,您的
..