tutorial steps script scm from example español currentbuild jenkins jenkins-plugins jenkins-pipeline jenkins-workflow jenkins-job-dsl

steps - jenkins pipeline tutorial español



DSL de trabajo para crear un trabajo tipo "Pipeline" (4)

En Job DSL, la canalización todavía se llama flujo de trabajo, vea workflowJob .

La próxima versión de Job DSL contendrá algunas mejoras para las tuberías, por ejemplo, JENKINS-32678 .

Instalé el Pipeline Plugin que antes se llamaba como Workflow Plugin .
https://wiki.jenkins-ci.org/display/JENKINS/Pipeline+Plugin

Quiero saber cómo puedo usar Job Dsl para crear y configurar un trabajo que es de tipo Pipeline


Si está utilizando un repositorio git, agregue un archivo llamado Jenkinsfile en el directorio raíz de su repositorio. Esto debería contener su trabajo dsl.


Deberías usar pipelineJob .

Ejemplo:

pipelineJob(''Pipeline'') { definition { cps { sandbox() script(""" node { stage(''init'') { build ''Pipeline-init'' } stage(''build'') { build ''Pipeline-build'' } } """.stripIndent()) } } }


Creo que esta pregunta es preguntar cómo usar el DSL de trabajo para crear un trabajo de interconexión que haga referencia al Jenkinsfile para el proyecto y no combine la creación de trabajos con las definiciones de pasos detalladas que se han proporcionado en las respuestas hasta la fecha. Esto tiene sentido: la creación de trabajos de Jenkins y la configuración de metadatos (descripción, disparadores, etc.) podrían pertenecer a los administradores de Jenkins, pero el equipo de desarrollo debería tener control sobre lo que hace realmente el trabajo.

@meallhour, ¿está debajo de lo que buscas? (funciona como en Job DSL 1.64)

pipelineJob(''DSL_Pipeline'') { def repo = ''https://github.com/path/to/your/repo.git'' triggers { scm(''H/5 * * * *'') } description("Pipeline for $repo") definition { cpsScm { scm { git { remote { url(repo) } branches(''master'', ''**/feature*'') scriptPath(''misc/Jenkinsfile.v2'') extensions { } // required as otherwise it may try to tag the repo, which you may not want } // the single line below also works, but it // only covers the ''master'' branch and may not give you // enough control. // git(repo, ''master'', { node -> node / ''extensions'' << '''' } ) } } } }

Ref la Job DSL pipelineJob: https://jenkinsci.github.io/job-dsl-plugin/#path/pipelineJob , y hackearla en http://job-dsl.herokuapp.com/ para ver las configuraciones generadas .