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.

Reply via email to