14得票6回答
如何在声明式流水线中处理全局变量?

之前曾经询问过如何覆盖环境指令中定义的变量,但似乎不可能。 我想在一个阶段设置一个变量并使它可以在其他阶段访问。 在声明性流水线中,似乎唯一的方法是在script{}块中进行操作。 例如,我需要在检出后设置一些变量。因此,在检出阶段结束时,我在script{}块中设置这些变量,并且它们可以...

14得票3回答
Jenkins:动态设置参数defaultValue

我正尝试设置一个多分支流水线配置,其中“部署”布尔复选框在非生产分支上默认为true,在生产构建上默认为false。 pipeline { parameters{ booleanParam(defaultValue: true, description: 'Do deploy a...

14得票1回答
Jenkins中并行管道内的顺序阶段

我在Jenkins中有一个动态脚本管道,它包含许多并行阶段,但是每个阶段内又有多个串行步骤。我已经浪费了几天的时间来尝试使其正常工作:无论我尝试什么,所有串行子阶段都被合并成一个阶段!以下是我现在拥有的: node () { stage("Parallel Demo") { ...

13得票1回答
如何在声明式Jenkins管道中使用Groovy来填充一个环境变量

我正在尝试使用Groovy在Jenkinsfile中设置环境变量,但遇到了困难。 下面的代码无法成功:pipeline { environment { PACKAGE_NAME = JOB_NAME.tokenize('/')[1] } { 出现以下错误: 环境变量只...

11得票1回答
在下游作业中聚合多个上游源代码管理系统(SCM)的更改

在我的当前项目中,我有几十个“子项目”,每个子项目都有一个“主干”和“分支”(传统设置,无法更改) 在一个“分支”上有多次提交,假设是5次,然后将该“分支”重新集成到“主干”上。当将一个“分支”重新集成到“主干”上时,它会触发一个“下游任务”的“主干”构建。 我需要这个下游的“主干”构建来...

10得票1回答
Jenkins共享库无法找到SQL驱动程序。

这是Jenkins的一个共享库中的新类。 共享库通过Manage Jenkins > Configure System下的标准方法加载。 package com.mycorp.core; @Grab(group='com.microsoft.sqlserver', module='...

10得票1回答
在Jenkins Groovy脚本中捕获Bash脚本的退出代码

在Jenkins Groovy脚本中执行bash脚本copy_file.sh,并根据该脚本生成的退出码尝试发送邮件。 copy_file.sh: #!/bin/bash $dir_1=/some/path $dir_2=/some/other/path if [ ! -d $dir ]...

10得票2回答
脚本无权使用静态方法 org.codehaus.groovy.runtime.DefaultGroovyMethods 的写入 java.io.File java.lang.String。

我正在尝试使用Jenkins创建vault-deployment。这是我的repo链接:链接。 在运行脚本时,我遇到了"Scripts not permitted to use staticMethod org.codehaus.groovy.runtime.DefaultGroovyMet...

10得票2回答
在其他Jenkins Groovy脚本中使用Groovy类

我有4个Groovy脚本(其中2个是dsl.groovy脚本): JobConfig.groovy:class JobConfig { final name JobConfig(map) { name = map['name'] } } topLev...

10得票1回答
Jenkins.instance.getItem无法获取文件夹中的作业

我可以使用Jenkins.instance.getItem('job_name')通过名称访问作业,无论是在脚本控制台还是Jenkinsfile中。 但对于多分支管道或任何其他位于文件夹中的作业,我无法这样做。如果我尝试使用项目的完整名称(包括文件夹)如Jenkins.instance.ge...