代码之家  ›  专栏  ›  技术社区  ›  Michael

如何使用初始化后脚本添加机密

  •  0
  • Michael  · 技术社区  · 7 年前

    post-initialization script 在我的詹金斯。直到现在我才发现 code to configure username/password credentials ,但我只是不知道什么样的类可以用于密文。我目前的做法是:

    import com.cloudbees.plugins.credentials.impl.*;
    import com.cloudbees.plugins.credentials.*;
    import com.cloudbees.plugins.credentials.domains.*;
    
    Credentials c = (Credentials) new WhateverClassSecretText(
        CredentialsScope.GLOBAL,
        "my-credential-id",
        "Secret Text for something", 
        "S3cr3t") // TODO find right class here!
    
    SystemCredentialsProvider.getInstance().getStore().addCredentials(Domain.global(), c)
    
    1 回复  |  直到 7 年前
        1
  •  1
  •   Michael    7 年前

    我找到了一个方法,但我仍然好奇是否有人有更好的解决办法。

    我要找的班级是 org.jenkinsci.plugins.plaincredentials.impl.StringCredentialsImpl ,这实际上需要 hudson.util.Secret 作为秘密字符串。下面是代码(可在Jenkins脚本控制台中测试):

    import static com.cloudbees.plugins.credentials.CredentialsScope.GLOBAL
    
    import com.cloudbees.plugins.credentials.domains.Domain
    import com.cloudbees.plugins.credentials.SystemCredentialsProvider
    import hudson.util.Secret
    import org.jenkinsci.plugins.plaincredentials.impl.StringCredentialsImpl
    
    StringCredentialsImpl credentials = new StringCredentialsImpl(
        GLOBAL,
        "my-credential-id",
        "Secret Text for something",
        Secret.fromString("S3cr3t"))
    
    SystemCredentialsProvider.getInstance().getStore().addCredentials(Domain.global(), credentials)