package steps import project.Project import environment.Environment import component.Component class DockerImageStep extends PipelineStep { private DockerImageStep(Project project, Environment environment, Component component) { super(project, environment, component); name = 'create-docker-image'; } def newInstance(Project project, Environment environment, Component component) { return new DockerImageStep(project, environment, component); } def getJobName() { return sprintf('%s-%s-%s-04-create_docker_image', project.namePrefix, component.name, environment.namePrefix); } def createJob(PipelineStep parentStep) { def jobName = this.getJobName(); dslFactory.job(jobName) { description 'Create docker image' deliveryPipelineConfiguration("Docker", "push image") publishers { publishCloneWorkspace '**', '', 'Any', 'TAR', true, null for (PipelineStep nextStep : nextSteps) { downstream nextStep.getJobName(), 'SUCCESS' } } steps { dockerBuild('tcp://localhost:2375', 'docker_credentials', 'https://registry-1.docker.io/v2/', 'registry_credentials', 'lexandro/' + component.name, 'testTag', false, false, false, false, false, false, false, '.' ) } scm { cloneWorkspace parentStep.getJobName(), 'Any' } } } }