我正在使用Jenkins中的凭据插件来管理团队构建的git和数据库访问凭据。我想将凭证从一个jenkins实例复制到另一个独立的jenkins实例。我将如何去做?
更新: TL; DR 按照 Filip Stachowiak 的评论在下面提供的链接,这是最简单的方法。如果它对您不起作用,请继续阅读。 __
复制$ HUDSON_HOME /credentials.xml不是解决方案,因为Jenkins会对密码进行加密,除非另外两个实例共享一个公用密钥,否则它们不能被另一个实例解密。
因此,您可以在两个Jenkins实例中使用相同的加密密钥(Jenkins中存储的加密密钥在哪里?),或者可以执行以下操作:
<id>c4855f57-5107-4b69-97fd-298e56a9977d</id>
<com.cloudbees.plugins.credentials.SystemCredentialsProvider plugin="credentials@1.22"> <domainCredentialsMap class="hudson.util.CopyOnWriteMap$Hash"> <entry> <com.cloudbees.plugins.credentials.domains.Domain> <specifications/> </com.cloudbees.plugins.credentials.domains.Domain> <java.util.concurrent.CopyOnWriteArrayList> <com.cloudbees.plugins.credentials.impl.UsernamePasswordCredentialsImpl> <scope>GLOBAL</scope> <id>c4855f57-5107-4b69-97fd-298e56a9977d</id> <description>Para SVN</description> <username>jenkins</username> <password>J1ztA2vSXHbm60k5PjLl5jg70ZooSFKF+kRAo08UVts= </password> </com.cloudbees.plugins.credentials.impl.UsernamePasswordCredentialsImpl> </java.util.concurrent.CopyOnWriteArrayList> </entry> </domainCredentialsMap> </com.cloudbees.plugins.credentials.SystemCredentialsProvider>