젠킨스에서 이미 사용 가능한 다중 작업의 경우 Groovy Scripting을 사용하여 새로운 위상 작업을 추가해야합니다. 나는 기존의 p25_deploy-1 작업을 추가하는 다음과 같은 코드를 작성했다.
이 코드는 다중 작업을 만들려고하고 있지만 위상 작업이 Jenkins UI에 매핑 된 것처럼 표시되지 않습니다. 내가 config.xml
을 볼 수있는 것처럼, <killPhaseOnJobResultCondition>
태그를 제외하고 예상대로 제대로 생성되었습니다. 위상 작업이 제대로 매핑되지 않은 이유를 모르십니까?젠킨스의 멀티 작업에 새로운 위상 작업을 추가하는 Groovy
import jenkins.model.*
import hudson.model.*
import com.tikal.jenkins.plugins.multijob.*
import com.tikal.jenkins.plugins.multijob.PhaseJobsConfig.*
import com.tikal.jenkins.plugins.multijob.PhaseJobsConfig.KillPhaseOnJobResultCondition.*
import java.lang.String.*
import hudson.model.Descriptor;
import hudson.tasks.Builder;
def jenkinsInstance = jenkins.model.Jenkins.instance
def templateJobName = 'profile_p25'
def templateJob = jenkinsInstance.getJob(templateJobName)
// get MultiJob BuildPhases and clone each PhaseJob
builders = templateJob.getBuilders();
builders.each { b ->
if (b instanceof MultiJobBuilder){
def pj = b.getPhaseJobs()
hudson.model.Describable p1 = new PhaseJobsConfig("p25_deploy-1",null,
true,PhaseJobsConfig.KillPhaseOnJobResultCondition NEVER,null,false,false,null,0,false,true,null,false,false)
pj.add(p1)
}
}
templateJob.save()
// update dependencies
jenkinsInstance.rebuildDependencyGraph()
도움이 될 것입니다. 많은 방법을 시도했지만 스크립트로 문제를 파악할 수 없었습니다.
우리는 DSL을 사용하여 만들 수 있지만 Groovy Scripting에서이 작업을 수행하고 기존 작업을 수정하고 싶습니다.
인용문