我是Jenkins的新手,所以我正在寻找如何实现这一点的建议。现在我正在使用Jenkins管道进行迁移,它执行几个任务等。我想知道是否有可能在我正在运行的管道的运行时创建另一个管道(这将是另一个管道的副本)。我已经做了一些,但找不到任何类似的具体内容。感谢任何帮助。
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()
1条答案
按热度按时间dsekswqp1#
我不太清楚你到底在问什么,但让我试着回答一下。
如果您的要求是使用现有作业创建新作业,则在创建新管道时会有“复制自”选项。
如果您想以编程方式创建一个新的作业,可以使用下面的groovy脚本。