Have a lot of jobs created with jenkins-jobs-builder that it is proving
difficult to maintain.
Looking to move to dsl and possibly pipeline-dsl.
Most of jobs have the following logic:
- ability to build debug and/or release builds
- manually invoked or scm triggered
- ability to select whether to promote or not, which I use to store
artifacts to package repository or a ssh-server depending on job
- users want build artifacts for each build
- users may not want those artifacts to be used by dependent jobs
OR promoted to package repository.
For every job, there are 2 sub-jobs to handle the release and debug builds
- actual builds are performed in a docker container
- there is a shared id (patch number) between the release and debug
builds, but again user can disable one or both via build parameter.
I can't quite figure out how to do everything in dsl yet and pipeline-dsl
even less.
First, thing. I have a set of parameters for each job, 1 that is using
PersistentParameter plugin. This is needed for manually triggered usage
where user can set a value and it is remembered the next time. Looking at
the dsl-plugin api viewer, I can see the plugin, but can not make it work.
import com.gem.persistentparameter.*
job('ci') {
description 'Build and test the app.'
parameters {
stringParam('p1','master','my des')
persistentStringParameterDefinition('p2','t123',false, 'help')
}
scm {
github 'sheehan/job-dsl-playground'
}
steps {
gradle 'test'
}
publishers {
archiveJunit 'build/test-results/**/*.xml'
}
}
javaposse.jobdsl.dsl.DslScriptException: (script, line 7) No signature of
method:
javaposse.jobdsl.dsl.helpers.BuildParametersContext.persistentStringParameterDefinition()
is applicable for argument types: (java.lang.String, java.lang.String,
java.lang.Boolean, java.lang.String) values: [p2, t123, false, help]
How can I achieve this?
However, I can port my yaml/logic to dsl and clean things up and hopefully
simplified, and I can use gradle to load jobs into jenkins.
For pipeline-dsl, I am less sure. Loading Jenkinsfile from scm doesn't fit
my situation, but possibly a dsl seedjob to handle it can work. The
pipeline-dsl has less features so I will probably be face with similar
issues as above. How would I handle? To really clean my jobs up, ideally,
would want my parameters moved up to pipeline parameters.
Thanks in advance,
Doug
--
You received this message because you are subscribed to the Google Groups
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to jenkinsci-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msgid/jenkinsci-users/922678bd-84b2-4a31-8dc4-476a55922b7a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.