groovy相关内容

如何在 Jenkins 上制作 groovy 以与凭据相同的方式屏蔽变量的输出?

在 Jenkins 的 groovy 中是否有一种方法可以获取任意字符串变量——比如对另一个服务的 API 调用的结果——并让 Jenkins 在控制台输出中将其屏蔽,就像它自动为从凭据管理器读取的值所做的那样? 解决方案 更新解决方案:要隐藏变量的输出,您可以使用 Mask Password Plugin 这是一个例子: String myPassword = 'toto'节点{ ..
发布时间:2022-01-18 17:03:38 其他开发

从 Jenkins 管道并行步骤收集数据

从并行步骤收集数据(例如通过/失败结果)的最佳方式是什么. 到目前为止我已经达到了什么: #!groovydef fspam(名称,垃圾邮件){spam[name] = "也去过那里"}//管道节点('奴隶'){阶段(“测试"){目标 = ["a", "b"]定义任务 = [:]默认垃圾邮件 = [:]目标.each{ 任务["${it}"] = {节点('奴隶'){echo "试运行 $ ..
发布时间:2022-01-18 17:03:06 其他开发

如何在“帖子"部分的詹金斯管道中使用“并行"选项?

我查看了许多管道示例以及如何在管道脚本中编写后期构建部分.但从来没有得到我正在寻找的答案.我有 4 个作业 - 比如说作业 A、B、C 和 D.我希望作业 A 先运行,如果成功,它应该并行触发作业 B、C、D.如果作业 A 失败,它应该只触发作业 B.如下所示: 管道{代理任何阶段{阶段('Build_1'){脚步 {嘘'''建立工作 A'''}}邮政 {失败 {嘘'''构建作业 B'''}成功 ..
发布时间:2022-01-18 17:01:37 其他开发

使用 for 循环的并行 jenkins 作业

我正在尝试使用 for 循环并行运行构建列表,因为代码越来越大. 我有一个包含项目名称的全局列表 @Field def final String[] projectsList = ['project1','project2', 'project3'....]阶段{阶段('并行构建'){脚步{脚本{def 分支 = [:]for(int i = 0;i 最简单(但几乎不是最优雅)的解决方案是 ..
发布时间:2022-01-18 17:00:23 其他开发

移动到 jenkinsfile 中的自定义类时命令失败

我正在设置一个新版本.运行一个简单的 shell 命令效果很好,如下所示: stage("Demo") {sh “回声‘你好’"} 我一直在尝试将我的 shell 脚本“打包"到它们自己的类中,只是为了稍微整理一下.问题是,当尝试从一个类中执行相同的 shell 脚本时,jenkins 会导致构建失败: org.jenkinsci.plugins.scriptsecurity.sandb ..
发布时间:2022-01-18 17:00:16 其他开发

如何在 Groovy Jenkins 管道中使用来自全局外部 java 库的方法?

首先,我是 Java、Groovy 和 Jenkins 的新手,所以请耐心等待;) 我正在准备一个支持流水线的 Jenkins 服务器,以备将来在我们的构建环境中使用.我们使用一种特殊的内部脚本语言,为此我必须用 java 编写一个包装器.没有选项只能在 Groovy 中完成这项工作,我们必须使用这种特殊的语言. 我尝试了很多方法来将 java 库引用到这个 jenkins 项目,但都 ..
发布时间:2022-01-18 16:59:15 Java开发

沙盒阻止我格式化字符串

我有一个简单的 groovy 脚本: 节点(“主"){echo "我即将尝试使用 String.format"def jjj = String.format("bob")回声} 如果我将此脚本直接放入我的作业配置并运行它,它运行良好. 但是,如果我将该脚本放入一个文件中,然后通过“来自 SCM 的工作流脚本"加载该文件,我会收到错误 org.jenkinsci.plugins.scri ..
发布时间:2022-01-18 16:59:01 其他开发

Jenkins groovy 正则表达式匹配字符串:错误:java.io.NotSerializableException:java.util.regex.Matcher

我正在尝试从 groovy 中的正则表达式中获取匹配的字符串.匹配的字符串打印到控制台没有问题,但是当我尝试在 git 命令中使用匹配的字符串时,我收到以下错误: Err: Incremental Build failed with Error: java.io.NotSerializableException: java.util.regex.Matcher 代码如下: def bina ..
发布时间:2022-01-18 16:58:10 Java开发

Jenkins EnvInject 插件 + 流水线作业

我想在我的管道作业中使用 EnvInject 插件.因此,我可以设置复选框“为运行准备环境",但没有“注入环境变量"操作,就像在自由式作业中一样.我在“属性内容"块中声明了我的变量: 如何使用 EnvInject 在管道作业中注​​入环境变量? 解决方案 如果您在“属性内容"块中声明了以下变量: param1=value1参数 2=值 2 然后你可以在这里将它们放入管道中: / ..
发布时间:2022-01-18 16:57:38 其他开发

在 Jenkinsfile (Groovy) 中获取给定文件夹中的文件名列表

我无法在脚本化的 Jenkins 流水线中的给定目录中创建简单的文件名列表.我尝试了许多在 SO 和其他论坛上发布的 Groovy 脚本示例,但要么该功能被阻止,要么我找不到方法或其他什么. 这似乎是最简单的 def DOCKER_FILES_DIR = './dockerfiles'//...def dir = 新文件(DOCKER_FILES_DIR);def dockerfiles ..
发布时间:2022-01-18 16:56:35 其他开发

您如何处理声明性管道中的全局变量?

之前问了一个问题关于如何覆盖变量在环境指令中定义,这似乎是不可能的. 我想在一个阶段设置一个变量,并让其他阶段可以访问它.在声明式管道中,执行此操作的唯一方法似乎是在脚本块中. 例如,我需要在结帐后设置一些变量.因此,在结帐阶段结束时,我有一个脚本{} 块来设置这些变量,并且它们可以在其他阶段访问. 这行得通,但感觉不对.为了便于阅读,我更喜欢在管道顶部声明这些变量并覆盖它们.因 ..

Jenkins Pipeline Plugin 在管道中启动的作业之间传递构建作业参数

如果有一个体面的完整代码示例,说明如何在 Jenkins Pipeline 插件中将参数(参数化构建)从 JobA 传递到 JobB,将不胜感激? 我正在使用如下脚本,无法从文档中了解如何从 JobA 访问参数,例如 JobB 中的构建步骤 shell 脚本: 构建作业:'JobA',参数:[[$class:'StringParameterValue',名称:'CVS_TAG',值:'te ..
发布时间:2022-01-18 16:54:53 其他开发

管道作业 - 向上游传递参数?

TL;DR:显然,在 Jenkins 管道作业中,您可以轻松地向下游传递参数.我想知道的是您是否可以将它们传递到上游. 用例: 我们有三份工作;job_one、job_two 和 job_three.这些通常单独运行,因为只需要一个阶段,但在越来越频繁的情况下,我们希望能够背靠背运行所有三个阶段. 第一个和第二个依赖于您可以提前定义的参数,但第三个需要从第二个作业生成的参数(在 ..
发布时间:2022-01-18 16:54:17 其他开发

如何在詹金斯管道控制台输出中抑制源脚本行回显?

我正在 Jenkins 中编写一个管道作业,它在管道控制台输出中显示下游作业的输出控制台.到目前为止,该作业正在运行,但由于管道作业本身添加到输出中的所有回声线,输出真的很难读取. 由用户 john.doe@cdf.com 发起[管道]分配节点:开始在/srv/jenkins-slave/workspace/UUT 自动回归的 swqa-pr-prod-slave-1 上运行 - 1.20[管道 ..
发布时间:2022-01-18 16:53:39 其他开发

如何从 Jenkins Groovy 脚本中执行 HTTP POST 请求?

我需要能够在我们的 Jenkins Pipeline 构建期间创建简单的 HTTP POST 请求.但是我不能使用简单的 curl sh 脚本,因为我需要它在 Windows 和 Linux 节点上工作,如果可以避免的话,我不希望在节点上强制安装更多工具. 我们正在使用的 Pipeline 插件中使用的 Groovy 库应该非常适合这项任务.Groovy 有一个可用于执行简单 POST 的扩 ..
发布时间:2022-01-18 16:52:59 其他开发

在管道中并行限制詹金斯

我在下面的代码中看到了这条消息在 JENKINS-44085. 如果我已经有一个包含 50 个项目的分支地图,但我想一次将它们并行 5 个,我需要如何修改此代码?我的代码已经在一个名为分支的 var 中有一个包含 50 个项目的映射. //将一些项目放入队列以允许该数量的分支运行for (int i=0;i 解决方案 这个问题有点老了,但对我来说这个问题昨天也很相关.在某些情况下,您的 ..
发布时间:2022-01-18 16:52:24 其他开发