groovy 如何在jenkins中运行另一管道时动态创建新管道

k2fxgqgv  于 2023-03-07  发布在  Jenkins
关注(0)|答案(1)|浏览(140)

我是Jenkins的新手,所以我正在寻找如何实现这一点的建议。现在我正在使用Jenkins管道进行迁移,它执行几个任务等。我想知道是否有可能在我正在运行的管道的运行时创建另一个管道(这将是另一个管道的副本)。我已经做了一些,但找不到任何类似的具体内容。感谢任何帮助。

dsekswqp

dsekswqp1#

我不太清楚你到底在问什么,但让我试着回答一下。
如果您的要求是使用现有作业创建新作业,则在创建新管道时会有“复制自”选项。

如果您想以编程方式创建一个新的作业,可以使用下面的groovy脚本。

def jobToCopy = "OldJob"
def newJobName = "NEWJOB"

def j = Jenkins.instance

def copyJob = j.getItemByFullName(jobToCopy)

def script = copyJob.getDefinition().getScript()
def flowDefinition = new org.jenkinsci.plugins.workflow.cps.CpsFlowDefinition(script, true)

def job = new org.jenkinsci.plugins.workflow.job.WorkflowJob(j, newJobName)
job.definition = flowDefinition
job.setConcurrentBuild(copyJob.isConcurrentBuild()) // You can add other options as nneded like this
job.save()
Jenkins.instance.reload()

相关问题