Hi this is really an interesting discussion. We are dealing with this right
now and are looking at running groovy scripts to configure the plugins. Can
I ask why you aren't doing this programmatically? Our older jenkins
installation handles this the same way you are, but we run into issues with
the xml being updated by plugin version changes. Why would you suggest
doing this in a "hardcoded" way? thanks.
On Friday, March 17, 2017 at 4:27:01 AM UTC-4, Art wrote:
>
> @Mark
>
> Thanks for the information. It turned me to the right direction. I was
> able to view the xml config files and convert them to the groovy scripts I
> needed.
>
> For others here is what I ended up with..
>
> pipelineGlobalLibrary.groovy
>
> import org.jenkinsci.plugins.workflow.libs.*
> import jenkins.plugins.git.GitSCMSource
>
> GlobalLibraries descriptor = (GlobalLibraries) GlobalLibraries.get()
>
> GitSCMSource scmSource = new
> GitSCMSource('463a8f67-5a28-430e-b4ea-a18fc5b1a40d',
>
> '[email protected]:group/jenkinsWorkflowLibs.git',
> 'credentialsId',
> 'origin',
> '+refs/heads/*:refs/remotes/origin/*',
> '*',
> '',
> false)
>
> SCMSourceRetriever retriever = new SCMSourceRetriever(scmSource)
>
> LibraryConfiguration libraryConfiguration = new
> LibraryConfiguration('myworkflowlibs', retriever)
> libraryConfiguration.setDefaultVersion('1.0.0')
> libraryConfiguration.setImplicit(false)
> libraryConfiguration.setAllowVersionOverride(true)
>
> descriptor.getLibraries().add(libraryConfiguration)
> descriptor.save()
>
>
> gitlab.groovy
>
> import com.dabsquared.gitlabjenkins.connection.*
> import jenkins.model.Jenkins
>
> GitLabConnectionConfig descriptor = (GitLabConnectionConfig)
> Jenkins.getInstance().getDescriptor(GitLabConnectionConfig.class)
>
> GitLabConnection gitLabConnection = new GitLabConnection('MyGitLab',
> 'https:\\\\gitlaburl.com',
> 'GitLabTokenId',
> false,
> 10,
> 10)
> descriptor.getConnections().clear()
> descriptor.addConnection(gitLabConnection)
> descriptor.save()
>
>
>
> Cheers!
>
> Art
>
> On Thursday, March 16, 2017 at 3:35:36 PM UTC+1, Art wrote:
>>
>> Hi,
>>
>> I am trying to auto-configure my Jenkins environment.
>>
>> I started with the base Jenkins Docker Image (Alpine) and installing my
>> plugins via install-plugins.sh script.
>> I am adding a pipeline job, a agent (slave) node, and setting some global
>> variables.
>>
>> What I am having trouble with is how to configure the global settings of
>> a plugin. I have seen some examples of managing tools, but I'm not clear on
>> how to choose/verify the package/class to use for the plugin.
>>
>> Here is my Dockerfile:
>>
>> FROM jenkins:2.32.3-alpine
>>
>> ENV JAVA_OPTS '-Djenkins.install.runSetupWizard=false'
>>
>> COPY init.groovy.d/* /usr/share/jenkins/ref/init.groovy.d/
>>
>> ## Install required plugins (auto installs dependencies)
>> RUN /usr/local/bin/install-plugins.sh \
>> config-file-provider \
>> credentials-binding \
>> docker-workflow \
>> git \
>> gitlab-plugin \
>> job-dsl \
>> parameterized-trigger \
>> ssh-agent \
>> ssh-slaves \
>> workflow-aggregator
>>
>>
>> The two items I am trying to configure is my `Gitlab` connection
>> information and my `Pipeline Global Library`
>>
>> For the Gitlab plugin this is how I'm starting, but not sure if it's the
>> right direction.
>>
>> import jenkins.model.*
>>
>> def instance = Jenkins.getInstance()
>> // Is this the right class? or do I need to do something entirely different?
>> def gitlab =
>> instance.getExtensionList(com.dabsquared.gitlabjenkins.connection.GitLabConnectionProperty.DescriptorImpl.class)
>> // TODO: set settings on gitlab and assign credentials by id.
>>
>> For the Pipeline Global Library, I'm not even sure how to start with that
>> one.
>>
>> Any help would be greatly appreciated.
>>
>> Cheers!
>>
>> Art
>>
>
--
You received this message because you are subscribed to the Google Groups
"Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/jenkinsci-dev/b562098c-a809-4523-ad00-3f92066978c3%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.