当前位置: 首页 > 面试题库 >

如何将凭证从一个詹金斯实例导出到另一个?

邢永安
2023-03-14
问题内容

我正在使用Jenkins中的凭据插件来管理团队构建的git和数据库访问凭据。我想将凭证从一个jenkins实例复制到另一个独立的jenkins实例。我将如何去做?


问题答案:

更新: TL; DR 按照 Filip Stachowiak
的评论在下面提供的链接,这是最简单的方法。如果它对您不起作用,请继续阅读。 __

复制$ HUDSON_HOME /credentials.xml不是解决方案,因为Jenkins会对密码进行加密,除非另外两个实例共享一个公用密钥,否则它们不能被另一个实例解密。

因此,您可以在两个Jenkins实例中使用相同的加密密钥(Jenkins中存储的加密密钥在哪里?),或者可以执行以下操作:

  1. 在第二个Jenkins实例中创建您需要共享的相同用户名/密码,以便生成有效密码
  2. 真正重要的是,两个credit.xml中的用户标识是相同的。为此,用户(请参阅下面的凭据.xml示例): 詹金斯<id>c4855f57-5107-4b69-97fd-298e56a9977d</id>,两个凭据 .xml中 的标识符 必须相同
        <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>


 类似资料:
  • 问题内容: 我有两条詹金斯管道,比方说管道A和管道B。我想在管道B中调用管道A。我怎样才能做到这一点? (管道A是管道B的子集。管道A负责执行一些日常工作,可以在管道B中重用) 我已经在计算机上安装了Jenkins 2.41。 问题答案: 以下解决方案对我有效: 在此处添加“管道:构建步骤”官方文档的链接:https : //jenkins.io/doc/pipeline/steps/pipeli

  • 我在eclipse STS中创建了一个Maven3 web项目(maven-archetype-webapp)。 现在,我想通过将项目从eclipse导出并导入到另一台机器上的eclipse中,在两台机器之间执行该项目。 我的目标是在另一台机器上的eclipse IDE中创建一个开发中项目的完美克隆,它的所有源代码都在我的eclipse IDE中,这样我就可以继续工作了。 对于普通的Java EE

  • 问题内容: 我有一个运行Jenkins的节点,该节点使用Maven构建代码。Jenkins作业是声明性管道脚本。Maven需要从需要证书才能访问的私有存储库中下载依赖项。凭证存储在Jenkins凭证管理器中。 我如何将这些凭据传递给Maven,以便Maven可以使用这些凭据从私有存储库正确下载依赖项。 问题答案: 通过将Jenkins凭证注入您的环境,然后将这些凭证传递给Maven,您可以使用Je

  • 问题内容: 我在詹金斯(Jenkins)有大约10个项目,每个项目针对10个不同的客户。因此,我需要为所有项目创建凭据,以便每个客户端只能访问其项目。 有任何插件可以满足我的要求吗? 请帮忙 !!! 问题答案: 在“全局安全性”下选择“基于项目的矩阵授权策略” 定义普通用户,但不能访问此级别的项目。 然后在每个项目上选择“启用基于项目的安全性”,在这里您可以为单个用户授予其他权限,例如查看和执行作

  • 问题内容: 我想将现有工作从一个视图移动到另一个视图,但是我找不到路。是复制作业并将其从其他视图中删除的唯一方法吗?我想起同样的名字,以我的经验,詹金斯(Jenkins)不能很好地处理工作的重命名。 问题答案: 您只需编辑视图即可(只需点击左侧的“编辑视图”链接)并选中/取消选中复选框即可

  • 问题内容: 我正在使用ansible集成开发人员机器。在那台机器上,我正在安装詹金斯。 我用ansible为詹金斯创建了工作: 并通过cli等安装了插件。 但是现在我缺少工作的ssh凭证;我只想要一个带有用户“ jenkins”的ssh凭证,并且使用“来自Jenkins主〜/ .ssh”。 我正在谈论的是这种凭证: 也许是一个普通的脚本,但是我没有找到很多有关它的信息。谢谢您的帮助。 问题答案: