jenkins-groovy相关内容

将 Jenkins 输入步骤中的文件上传到工作区

我想使用Jenkins的“输入步骤"将二进制文件上传到当前工作区. 但是,下面的代码似乎是将文件上传到 Jenkins 主站,而不是上传到正在运行作业的从站上当前作业的工作区.有什么办法可以解决吗? 最好不必在主盘上添加执行程序或将文件弄乱主盘. def inFile = input id: 'file1', message: 'Upload a file', parameters: ..
发布时间:2021-12-14 22:03:31 其他开发

如何在 Jenkins 声明式管道中创建方法?

在 Jenkins 脚本管道中,我们能够创建方法并调用它们. 是否也可以在 Jenkins 声明式管道中使用?以及如何? 解决方案 较新版本的声明式管道支持这一点,而这在之前(~2017 年中期)是不可能的.您可以像从 groovy 脚本中期望的那样声明函数: pipeline {代理任何阶段{阶段('测试'){脚步 {任何函数()}}}}voidwhateverFunction( ..

Jenkins 脚本管道:无法在 shell 中打印变量并在 shell 中设置变量值

Jenkins 脚本化管道.两个问题: 我有一个全局变量 var,我想在里面访问它的值壳.但它什么也不打印 我在其中一个阶段中使用 a 设置的 var 值shell-script,在下一阶段访问,但它在 shell 中不打印任何内容. 我错过了什么?(见下面的脚本) 节点{变量=10舞台('HelloWorld'){嘘'''echo "Hello World. var=$var" ..
发布时间:2021-12-14 21:43:45 其他开发

jenkins 中执行 groovy 脚本和执行系统 ​​groovy 脚本的区别?

谁能解释一下jenkins中execute groovy脚本和execute system groovy脚本的区别?以及如何使用execute system groovy脚本调用脚本到slave. 解决方案 要在从机上执行 groovy 脚本,您应该使用 groovy 插件 引用 简单的“Groovy Script"运行在一个分叉的 JVM 中,在从站上运行构建运行.它与运行“ ..
发布时间:2021-12-14 21:42:22 其他开发

使用 readYaml 从声明性 Jenkinsfile 中的文件返回的对象

我想通过 readYaml 实用程序读取声明性 Jenkinsfile 中的 yaml 文件的内容.我的理解是 readYaml 应该返回一个 Map,但是,我看到返回的对象类型是一个字符串.这违背了将数据放在 yaml 文件中的初衷. 具体来说,我想从 helm values.yaml 文件中获取一些值,以便在 Jenkinsfile 的全局环境部分中设置 env 值,以便所有后续阶段都能 ..
发布时间:2021-10-04 19:04:50 其他开发

如何在jenkins groovy中检出SCM的子目录?

我有一个git hub存储库ABC.git,它具有以下目录src,config,env,test.我只想将src和config文件夹签出到我的Jenkins工作区中. 我可以使用SCM插件将完整的存储库签出到我的jenkins工作区中. 用于检出完整分支的命令: 结帐([$ class:'GitSCM',分支机构:[[名称:'*/master']],doGenerateSubmodu ..
发布时间:2021-05-20 18:51:37 其他开发

多分支管道中的詹金斯主动选择参数

我想在Jenkins中使用“主动选择"参数,用于以下目的: 我的项目开发人员希望为不同的分支机构运行Jenkins构建,基本上会大喊"Multibranch"!事实是,如果未标记回购中的最新提交,则开发人员希望在作业页面(您单击BUILD)中得到通知. 如果我让开发人员通过Git Parameter之类的参数选择他要构建的分支,然后使用Active Choice Reference Par ..
发布时间:2021-05-20 18:51:33 其他开发

Jenkins Active Choice反应性参考参数MultiBranch管道作业中格式化的HTML在脚本中获取当前分支名称

我花了很多时间试图在MultibranchPipeline作业内部中获得当前分支名称,该参数是Active Choice反应参考参数格式的HTML参数脚本块 [$ class:'DynamicReferenceParameter',choiceType:"ET_FORMATTED_HTML",名称:"TestParam",omitValueField:true,说明:“测试",脚本: [$ c ..

java.lang.UnsupportedOperationException:类jenkins.tasks.SimpleBuildWrapper的未知实现在jenkins中被命名为BuildUser

我在Jenkins中准备脚本,如下所示,在构建作业时出现错误.这项工作是向用户发送电子邮件,以供 input 进行下一步. [管道]管道末端java.lang.UnsupportedOperationException:类jenkins.tasks.SimpleBuildWrapper的未知实现名为BuildUser在org.jenkinsci.plugins.structs.describa ..
发布时间:2021-05-20 18:51:02 其他开发

如何在groovy脚本中启用/禁用文本框

我的Jenkins管道中有几个参数.我的第一个参数是选择,第二个参数是输入框,其中包含字符串. 这里的挑战是,当我在第一个参数中选择第一个值时,应启用第二个参数(输入框),否则请启用.我目前在第二个参数中使用扩展选择参数,在这里我选择“文本框".作为参数类型.有人可以帮我解决在选择其他参数值时如何启用和禁用参数输入. 例如: P1-选择参数值:启用,禁用P2-扩展选择参数:(文本框) ..
发布时间:2021-05-20 18:50:59 其他开发

Jenkins声明式管道在每个阶段都发送电子邮件

嗨,我正在尝试在Jenkins管道的每个阶段发送电子邮件.是否可以 ?.基本上每个阶段,无论成功还是失败,我都想发送电子邮件.阶段涉及Build,package,deploy 解决方案 这是一种方法.我已使用Slack进行通知,您可以将其替换为邮件通知. 对于下面的示例,如果阶段运行成功,它将在两个阶段发送成功消息,但是,如果任何一个阶段失败,它将发送指示特定阶段已失败并且也使构建失 ..
发布时间:2021-05-20 18:50:53 其他开发

使用SCM中的声明性Jenkins管道-Subversion-如何获取svn Url?

这看起来是关于詹金斯用法的非常基本的问题. 我的Subversion存储库树的根文件夹中有 Jenkinsfile .该产品有很多分支(版本/标签)-到处都是相同的 Jenkinsfile .到目前为止,我想非常基本的设置. 我需要提供一些有关当前Subversion存储库分支/URL 的步骤.还有一些类似的问题,例如这或 解决方案 会是这样 管道{代理任何阶段{阶段(“测试 ..
发布时间:2021-05-20 18:50:50 其他开发

我可以安排一次在Jenkins中运行的构建吗?没有cron的任何解决方案

我不需要cron作业,因为该构建只需要在生产中运行一次,而不必定期运行.是否有一种方法可以在计划的时间构建不使用cron的管道. 解决方案 一种方法是-您可以远程触发它 https://www.jenkins.io/doc/book/using/remote-access-api/ 假设您有一个Linux机器,则可以通过使用"at"按钮来安排它.命令 在9:30 PM星期五curl ..
发布时间:2021-05-20 18:46:50 其他开发

使用共享的\ vars库在Jenkins中定义FOLDER级别的变量

因此,我试图通过将定义的文件夹级别变量放在 \ vars 目录中的常规文件中来进行定义. 可惜,文档太糟糕了,不可能弄清楚该怎么做...假设我们必须全局化 G1 和 G2 ,这是我们在groovy文件中定义它们的方式吗? #!Groovy静态字符串G1 ="G1"静态字符串G2 ="G2" 假设Groovy文件名为 XYZ.Groovy ,如何在文件夹中定义它以便其可用于文件夹的脚本? ..
发布时间:2021-05-13 19:38:45 其他开发

Groovy获取TFS变更集的编辑类型

我需要获取tfs变更集文件(我已完成此操作),还需要获取它是使用jenkins服务器上的groovy插件添加还是删除. 我无法弄清楚如何访问保存该方法的项目类以获取编辑类型.我尝试了下面的代码,只是无法弄清楚. import java.lang.* import jenkins.* import jenkins.model.* import hudson.* import hudson ..
发布时间:2021-02-11 20:11:44 其他开发

如何在Jenkins Groovy Pipeline中创建和循环遍历字符串ArrayList

如标题中所述,我正在尝试遍历Jenkins Groovy Pipeline脚本中的字符串ArrayList(使用脚本化Pipeline语法).让我为您列出整个“问题". 我从一串用空格分隔的文件系统位置开始:"/var/x/var/y/var/z ...",就像这样.我遍历此字符串,将每个字符添加到临时string中.然后,当我到达一个空格时,将该临时字符串添加到数组中并重新启动.这是一些显 ..
发布时间:2021-02-11 20:11:37 其他开发