HI

I am using JCasC plugin to backup configurations of our team's Jenkins 
server, the configuration contains some certificates in credential 
configuration, I added those certificates in the yaml file as follows:
credentials:
  system:
    domainCredentials:
    - credentials:
      - certificate:
          id: "09cee6c2-8a39-41c0-982d-d61142881f51"
          keyStoreSource:
            fileOnMaster:
              keyStoreFile: "/var/lib/jenkins/.kube/xxxx.pfx"
          password: 
"{AQAAABAAAAAQQFDGeGfdsasdfajaGHAVcrBgCnZudsafdsPEWgYADaZ1mg=}"
          scope: GLOBAL

But it failed to apply this configuration on another jenkins server, it 
threw the following errors:


No com.cloudbees.plugins.credentials.impl.
CertificateCredentialsImpl$KeyStoreSource implementation found for 
fileOnMaster

java.lang.IllegalArgumentException: No 
com.cloudbees.plugins.credentials.impl.CertificateCredentialsImpl$KeyStoreSource
 implementation found for fileOnMaster
        at 
io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.lambda$lookupDescriptor$11(HeteroDescribableConfigurator.java:153)
        at io.vavr.control.Option.orElse(Option.java:302)
        at 
io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.lookupDescriptor(HeteroDescribableConfigurator.java:152)
        at 
io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.lambda$configure$3(HeteroDescribableConfigurator.java:80)
        at io.vavr.Tuple2.apply(Tuple2.java:239)
        at 
io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.configure(HeteroDescribableConfigurator.java:79)
        at 
io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.configure(HeteroDescribableConfigurator.java:51)
        at 
io.jenkins.plugins.casc.impl.configurators.DataBoundConfigurator.tryConstructor(DataBoundConfigurator.java:131)
        at 
io.jenkins.plugins.casc.impl.configurators.DataBoundConfigurator.instance(DataBoundConfigurator.java:74)
        at 
io.jenkins.plugins.casc.BaseConfigurator.configure(BaseConfigurator.java:268)
        at 
io.jenkins.plugins.casc.impl.configurators.DataBoundConfigurator.configure(DataBoundConfigurator.java:80)
        at 
io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.lambda$doConfigure$16668e2$1(HeteroDescribableConfigurator.java:219)
        at 
io.vavr.CheckedFunction0.lambda$unchecked$52349c75$1(CheckedFunction0.java:201)
        at 
io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.doConfigure(HeteroDescribableConfigurator.java:219)
        at 
io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.lambda$null$2(HeteroDescribableConfigurator.java:82)
        at io.vavr.control.Option.map(Option.java:373)
        at 
io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.lambda$configure$3(HeteroDescribableConfigurator.java:82)
        at io.vavr.Tuple2.apply(Tuple2.java:239)
        at 
io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.configure(HeteroDescribableConfigurator.java:79)
        at 
io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.configure(HeteroDescribableConfigurator.java:51)
        at 
io.jenkins.plugins.casc.impl.configurators.DataBoundConfigurator.tryConstructor(DataBoundConfigurator.java:123)
        at 
io.jenkins.plugins.casc.impl.configurators.DataBoundConfigurator.instance(DataBoundConfigurator.java:74)
        at 
io.jenkins.plugins.casc.BaseConfigurator.configure(BaseConfigurator.java:268)
        at 
io.jenkins.plugins.casc.impl.configurators.DataBoundConfigurator.check(DataBoundConfigurator.java:98)
        at 
io.jenkins.plugins.casc.BaseConfigurator.configure(BaseConfigurator.java:345)
        at 
io.jenkins.plugins.casc.BaseConfigurator.check(BaseConfigurator.java:288)
        at 
io.jenkins.plugins.casc.BaseConfigurator.configure(BaseConfigurator.java:353)
        at 
io.jenkins.plugins.casc.BaseConfigurator.check(BaseConfigurator.java:288)
        at 
io.jenkins.plugins.casc.ConfigurationAsCode.lambda$checkWith$6(ConfigurationAsCode.java:672)
        at 
io.jenkins.plugins.casc.ConfigurationAsCode.invokeWith(ConfigurationAsCode.java:634)
        at 
io.jenkins.plugins.casc.ConfigurationAsCode.checkWith(ConfigurationAsCode.java:672)
        at 
io.jenkins.plugins.casc.ConfigurationAsCode.checkWith(ConfigurationAsCode.java:567)
        ..

it seems that the *fileOnMaster *syntax is not supported with the current 
plugin version, the installed plugins have the following version number:
Configuration as Code Plugin 
<https://wiki.jenkins.io/display/JENKINS/Configuration+as+Code+Plugin>: 1.20 
<https://wiki.jenkins.io/display/JENKINS/Configuration+as+Code+Plugin>
Configuration as Code Support Plugin: 
<https://wiki.jenkins.io/display/JENKINS/Configuration+as+Code+Support+Plugin> 
1.19 
<https://wiki.jenkins.io/display/JENKINS/Configuration+as+Code+Support+Plugin>

I checked the demos in JCasC's repository and didn't find a example for 
certificate, does anyone know how to add a configuration for certificate 
with the plugin version I have installed?

Thanks 
<https://wiki.jenkins.io/display/JENKINS/Configuration+as+Code+Support+Plugin>
<https://wiki.jenkins.io/display/JENKINS/Configuration+as+Code+Support+Plugin>



-- 
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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-users/e9d6d31c-a55d-4a73-ae24-70666857623a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to