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

Jenkins使用Git和Deploy Key构建

林修真
2023-03-14
问题内容

我将git插件添加到Jenkins。我已经在构建服务器上作为jenkins用户生成了一个公共密钥。我将此密钥作为部署密钥添加到github。我添加了带有詹金斯名称和email的全局git属性,并且该电子邮件与公钥末尾的内容匹配。

当詹金斯(Jenkins)尝试从git仓库(托管在Github上)中提取信息时,我得到以下信息:

Started by user anonymous
Building in workspace /var/lib/jenkins/jobs/Test Deployment/workspace
Checkout:workspace / /var/lib/jenkins/jobs/Test Deployment/workspace - hudson.remoting.LocalChannel@9ba3afe
Using strategy: Default
Cloning the remote Git repository
Cloning repository origin
ERROR: Error cloning remote repo 'origin' : Could not clone git@github.com:GenRocket/GenRocket.git
hudson.plugins.git.GitException: Could not clone git@github.com:GenRocket/GenRocket.git
    at hudson.plugins.git.GitAPI.clone(GitAPI.java:245)
    at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:1121)
    at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:1063)
    at hudson.FilePath.act(FilePath.java:839)
    at hudson.FilePath.act(FilePath.java:821)
    at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1063)
    at hudson.model.AbstractProject.checkout(AbstractProject.java:1218)
    at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:586)
    at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:475)
    at hudson.model.Run.run(Run.java:1438)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
    at hudson.model.ResourceController.execute(ResourceController.java:88)
    at hudson.model.Executor.run(Executor.java:239)
Caused by: hudson.plugins.git.GitException: Command "git clone --progress -o origin git@github.com:GenRocket/GenRocket.git /var/lib/jenkins/jobs/Test Deployment/workspace" returned status code 128:
stdout: Cloning into /var/lib/jenkins/jobs/Test Deployment/workspace...

stderr: Host key verification failed.
fatal: The remote end hung up unexpectedly

不确定问题是什么,或者关于配置我忘记了要做什么。任何帮助表示赞赏。让我知道您是否需要更多详细信息。


问题答案:

尝试将github添加到jenkins用户的.ssh /
known_hosts文件中。如果您手动尝试以jenkins用户身份进行克隆,它会提示您将github.com添加为已知主机。一旦这样做,jenkins应该能够在进行构建时验证主机密钥。



 类似资料:
  • 问题内容: 使用git“标记”构建时,jenkins上有一个选项。 这是做什么用的,我该如何使用?我假设我可以在该版本中标记构建,但是我正在努力寻找如何推送该标记的方法-除非我可以按下该标签,否则它不会那么有用。 问题答案: 您并不总是希望推送 所有 构建标记,因为根据构建周期的不同,可能会有很多构建标记。 但是,任何任务调度程序(例如Jenkins)都将标记构建,以防您想返回到特定代码并对其进行

  • 我正试图根据本手册构建一个< code>Tesseract库:使用git-bash(版本 无论我做什么以及它如何失败,原因都是一样的-当涉及到<code>轻量级</code>时,我看到的错误如下: 找不到由“SW”提供的具有以下任何名称的软件包配置文件: SWConfig.cmake sw-config.cmake 我已经将放在PATH指示的位置,但它没有帮助 - 错误仍然存在。存储库中是否可能缺

  • 社区中是否有人成功地使用Browserstack作为云提供商在Jenkins中创建了Selenium build,同时需要在防火墙后面建立本地测试连接? 我可以肯定地说,正如我所做的那样,Saucelabs在连续部署环境中使用Sauce Jenkins插件执行构建非常容易。然而,我不能对Browserstack说同样的话。我所在的组织目前使用Browserstack,虽然他们的服务确实支持使用二进

  • 我正在尝试配置Jenkins,以便从git的标记创建构建。所以我希望开发者创建一个标签(在任何分支中),Jenkins将负责新的构建。 我遵循了这个教程,但我没有做到,有人能帮我吗? http://erics-notes.blogspot.nl/2013/05/jenkins-build-latest-git-tag.html

  • 问题内容: 在下面的Jenkins作业配置中, Refspec 和 Branch specifier(默认为空白) 之间有什么区别: 我试图在作业配置中设置Refspec选项: 在我的构建从属服务器上的克隆仓库中,.git / config文件如下所示: 似乎 fetch 的值不正确(从jenkins作业配置中读取)。此外,它对磁盘空间消耗没有影响。 问题答案: Refspec 定义了 获取 操作

  • 问题内容: 我知道这个问题发布在不同的主题上,但是我的情况有些不同。 当詹金斯检测到提交时,我想触发测试目标。互联网上的大多数教程都显示了如何使用WebHook做到这一点。 就我而言,我有两个问题: 1)我没有找到选项“检测到提交时触发构建” 在此处输入图片说明 2)所有教程都谈到从Git URL配置Webhook。在我的情况下,我的git存储库是本地的,我无权访问Web界面。那么如何手动做同样的