35

我已经Jenkins通过将其 WAR 文件部署到Tomcat. 打字时

http://localhost:8080/jenkins

在浏览器中,jenkins主页正在打开,这意味着jenkins安装成功。我配置了系统设置,给出了jdkMaven 路径并保存了它们。然后要安装插件,我点击 Jenkins->Manage plugins 并点击 Available 选项卡,但找不到任何插件。我尝试了三种解决方案:

  1. 通过转到Jenkins->Manage Plugins->Advanced(未找到插件)为 Jenkins 配置代理

  2. 重新启动服务器,刷新浏览器并转到Jenkins->Manage plugins->Available(仍然没有找到任何插件)。所以,我在某处读到,如果插件没有自动更新,我们会强制更新它们。因此,转到Jenkins->Manage Plugins->Advanced并单击“立即检查”选项卡(单击“可用”选项卡仍然没有找到任何插件)。

  3. 最后我在某处读到,如果我们将 pluginGroup 'org.jvnet.hudson.tools' 添加到 maven 的 settings.xml 文件中,问题可能会得到解决。因此,在 settings.xml 中添加了相应的代码:

然后我又试了一次,但仍然找不到任何插件

Jenkins->Manage plugins->Available

如果有任何其他解决方案可以解决此问题,请告诉我。

4

26 回答 26

65

转到:管理 Jenkins → 管理插件 → 高级,然后单击右下角的立即检查。当您返回可用选项卡时,应列出所有插件。

于 2014-01-27T12:03:46.430 回答
33

在 Jenkins 的插件部分打开“高级设置”选项卡并将以下 URL 粘贴到更新服务器 URL 字段(在底部):https ://updates.jenkins.io/update-center.json

于 2014-01-15T12:41:44.953 回答
27

对我来说,以下工作:

转到管理 Jenkins-> 配置全局安全性

点击“使用浏览器下载元数据”复选框

我还禁用了安全性并防止未经检查的跨站点伪造。

于 2016-07-22T23:03:29.633 回答
23

您可以手动强制更新插件列表。

这对我有用:

wget -O default.js http://updates.jenkins-ci.org/update-center.json
sed '1d;$d' default.js > default.json
curl -X POST -H "Accept: application/json" -d @default.json http://localhost:8080/updateCenter/byId/default/postBack --verbose

(我创建这个是为了能够部署 Jenkins 并批量安装插件)

于 2013-04-25T13:24:19.073 回答
22

问题可能是您的浏览器代理设置未正确配置。

Jenkins 不会直接从更新中心检索插件列表,它会告诉您的浏览器检索它并将其发布回 Jenkins。因此,此步骤将忽略 Jenkins 中的 HTTP 代理设置。

因此,如果您使用配置为仅在您的网络中工作的浏览器来连接到本地服务器(例如 Jenkins 实例),那么您将无法更新插件列表。

(这只是发生在我身上,花了一个令人沮丧的小时来锻炼。)

于 2013-11-12T02:13:53.753 回答
11

令人沮丧了……不是因为困难,而是因为缺乏清晰度和良好的文档,至少对于我遇到的问题而言。我最终不得不以一种非常具体、挑剔的方式设置管理插件 -> 高级 -> HTTP 代理配置。如果我没有完全做到这一点,减去底部最后提到的东西,我就无法让它工作。也许这是我工作的防火墙,也许是詹金斯,如果您无法成功更新您的代理设置,无论哪种方式都可以试一试。我使用Validate Proxy了菜单中的工具。我将非常简要地描述下面的信息图基础

在此处输入图像描述

  1. 不要添加http://或添加https://到您的Server字段
  2. 将您的詹金斯凭据用于Usernameand Password,而不是您的代理凭据(如果这甚至适用)
  3. 如果您正在检查 Google 或 Yahoo 之类的内容,请添加http://到您的Test URL
  4. 提交您的更改
  5. 然后运行 ​​check-now
  6. (可选?)将更新站点从 HTTP 更改为 HTTPS

您现在应该可以轻松更新插件

于 2016-09-20T20:22:18.610 回答
7

将更新站点从 https://updates.jenkins.io/update-center.json更改 为 http://updates.jenkins-ci.org/update-center.json

于 2018-06-04T09:40:57.480 回答
5

我在使用 nginx 作为安全反向代理时遇到了这个问题。如上所述,我需要更新从其下载更新列表的 url,仅使用 https 以防止 chrome 中的混合内容错误。

于 2014-04-02T02:07:08.980 回答
5

我找不到我搜索的插件的原因Jenkins->Manage plugins->Available

它已经安装并且在Jenkins->Manage plugins->Installed.

于 2016-10-06T12:03:26.783 回答
4

当我遇到同样的问题时,我遇到了这个 SO 答案。当我单击“立即检查”以强制 Jenkins 下载最新列表时,我的浏览器会挂起。直到我跟踪了 Jenkins 日志,我才在这里发现了这个:

Mar 10, 2014 1:15:54 PM hudson.security.csrf.CrumbFilter doFilter
WARNING: No valid crumb was included in request for /administrativeMonitor/hudson.diagnosis.ReverseProxySetupMonitor/test.  Returning 403.

看起来这个问题与我如何将 Jenkins 放在反向代理后面并启用防止跨站点请求伪造的选项有关。一旦我禁用它,“立即检查”会在 30 秒内完成。

于 2014-03-10T13:21:10.150 回答
2

对我来说,以下工作。在虚拟框中的 Ubuntu 1404 上全新安装 jenkins 1.638 后,我遇到了这个空的可用列表问题。我们在 ISA 代理服务器下。

转到Jenkins->Manage Plugins->Advanced并设置代理,如下所示:

Host: 192.168.x.x(您的代理 IP)

Port: 80(您的代理端口)

请注意,我发现格式很重要。我尝试添加http://它不起作用。它必须与上面完全相同。

然后check now按照其他人的建议点击右下角的按钮。然后你得到清单。

于 2015-11-26T06:38:44.340 回答
2

我的解决方案在这里

如果您在浏览器的地址栏中输入“ http://updates.jenkins-ci.org/update-center.json ”目录,(在我的情况下)它实际上重定向到“ http://ftp.tsukuba.wide.ad .jp/software/jenkins/updates/current/update-center.json。”

当我将“ http://ftp.tsukuba.wide.ad.jp/software/jenkins/updates/current/update-center.json ”设置为 Jenkins 的更新站点,然后单击“保存”和“更新”时,它起作用了。

希望这可以帮助。

于 2016-05-30T06:34:02.480 回答
2

或者您的插件可能已经安装。安装后,它不在可用插件列表中。

于 2017-08-11T04:19:10.603 回答
1

如果您使用的是 Chrome 转到:管理 Jenkins → 管理插件 → 高级,然后单击Check now右下角的 。然后点击地址栏中的盾牌图标,点击Load anywayJenkins 将开始更新插件。在 Firefox 中,此图标位于地址栏的左侧,靠近后退按钮。

在此处输入图像描述

在此处输入图像描述

于 2015-03-26T20:59:59.023 回答
1

您可以手动安装插件,对此,进入管理插件中的高级选项卡,下载您需要的插件后,提交这些

于 2015-06-27T18:30:09.477 回答
1

我对 Jenkins 的 NginX 代理请求有疑问。我有错误:

Nginx 413 Request Entity Too Large

我能够通过添加来解决这个问题

client_max_body_size 2M;

到 /etc/nginx/nginx.conf 文件。之后我去了 Jenkins - 插件管理器 - 高级选项卡,然后按立即检查按钮

于 2016-11-22T21:25:39.387 回答
1

我遇到了同样的问题,并且能够通过启用浏览器元数据下载来解决它。请按照以下步骤在 Jenkins 中启用此配置

  • 步骤 01:选择 Manage Jenkins 并点击 Configure Global Security
  • 步骤 02:在插件管理器部分下勾选“使用浏览器下载元数据”
  • 步骤 03:在管理 Jenkins 的插件管理器部分下查看可用选项卡
于 2019-06-06T11:46:21.093 回答
1

如果它不是在代理之后的全新安装,请按照可用“使用上面的搜索字段搜索可用插件”下的说明进行操作。

在此处输入图像描述

于 2020-12-20T19:03:43.543 回答
0

在尝试了很多事情(包括此处发布的所有解决方案)和数小时的搜索之后......我最终将 jenkins 升级到了版本 1.638

这有助于解决旧版本 jenkins 中可用的空插件令人沮丧的问题!

于 2015-11-20T13:28:45.420 回答
0

此答案特定于Windows 10。如果您使用 Jenkins 现在捆绑的安装程序,Jenkins 将作为服务安装。默认情况下,该服务在本地系统帐户下运行。您必须将其更改为在网络服务帐户下运行,以便 Jenkins 能够连接到插件更新服务。如果您在系统上具有管理员权限,那么这些步骤应该会有所帮助:

  1. 打开命令提示符。
  2. 输入 Services.msc 并回车。
  3. 服务窗口现在应该打开了。
  4. 在列表中找到 Jenkins 实例。
  5. 右键单击它,然后单击属性。
  6. 转到“登录”选项卡(应该是第二个)。
  7. 应该有 2 个单选按钮。
    • 本地系统帐户(已选择)
    • 此帐户(未选择)
  8. 选择此帐户。

  9. 在文本框中输入网络服务

  10. 提供您的 Windows 密码。
  11. 点击应用并确定。
  12. 重启 Jenkins 服务。
  13. 在浏览器中重新加载 Jenkins。

对于添加措施,您还可以在 Windows 防火墙(或您可能正在使用的任何其他防火墙)中添加规则以允许来自 Jenkins 的出站请求。指向jenkins.exe应用程序,该应用程序应位于该规则的 Jenkins 安装目录中。

于 2015-12-06T14:16:40.027 回答
0

对于像我这样使用 Jenkins 和 JDK8u60+ 版本的 Docker 的人,您需要删除 JDK_HOME/jre/lib/security/java.security 中的 MD5 哈希以使其正常工作:

jdk.certpath.disabledAlgorithms=MD2, MD5, RSA keySize < 1024

To

jdk.certpath.disabledAlgorithms=MD2, RSA keySize < 1024

这应该是一个临时的解决方法

于 2016-01-28T15:08:45.667 回答
0

您在 Jenkins 机器上没有互联网连接。请在离线模式下配置互联网或安装插件。

去Jenkins-插件管理器-上传插件

于 2016-08-30T04:50:20.580 回答
0

我的环境

  • Windows 7 企业版
  • 詹金斯 2.89.2
  • 直接访问互联网

我尝试了这里提供的大部分建议,但在我尝试遵循之前没有任何效果

第一:我需要以“管理员”身份运行

第二:它在 C:\users\yourusername\.jenkins 使用默认用户主目录。

什么有效:

我通过定义 JENKINS_HOME 环境变量将上面的默认目录更改为不同的文件夹,并且我能够获得新的插件。

于 2018-01-11T00:29:12.723 回答
0

我在最新的 Jenkins 版本中遇到了同样的问题,所有解决方案都不适用于我,所以我按照命令行方法安装任何插件

sudo java -jar jenkins-cli.jar -s http://localhost:8080/ -auth USERNAME:PASSWORD -webSocket install-plugin PLUGIN_NAME

您可以从已安装的 Jenkins 页面 http://localhost:8080/cli 下载 Jenkins-cli.jar

您可以从 Jenkins 站点https://plugins.jenkins.io/搜索插件名称

如果您安装了 Jenkins CLI,您可以直接通过终端运行此命令

jenkins-plugin-cli --plugins PLUGIN_NAME

如果其他人没有与您合作,我希望此解决方案有所帮助。

于 2020-12-08T15:17:03.903 回答
0

我也尝试了以上所有方法,但这创造了奇迹

脚步:

  1. 转到 https://plugins.jenkins.io(获取您要在 jenkins 上安装的所有 jenkins 插件的官方页面)

  2. 搜索“github”(因为我们需要安装 github 插件)

  3. 您将看到 github 插件,检查插件 id...它显示为 id:github....所以“github”是确切的插件 id

  4. 在 jenkins 服务器中下载jenkins-cli.jar fromhttp://localhost:8080/cli并复制到下/opt/jenkins-cli.jar

  5. 在 jenkins 服务器上,运行命令安装 github 插件 java -jar jenkins-cli.jar -s "http://localhost:8080" -auth jenkins-username:jenkins-password install-plugin github

  6. 重启服务器

  7. 现在你会看到安装部分下安装的 github 插件

于 2021-01-27T17:25:10.387 回答
0

对于那些使用 Docker 和 MacOS 的人。当您使用 Docker 时,无需在 Jenkins 应用程序中为 Jenkins 配置代理设置,但是您可以并且应该在运行容器时已经这样做。对于上下文,我使用 MacOS,并且我在配置了代理的企业域中工作。

解决方案

  1. 为 Docker 配置代理设置。如果您在 Docker Desktop 中打开 Preferences,您可以这样做。左侧菜单,“资源”->“代理”。在那里您需要添加正确的代理设置,然后单击“应用并重新启动”
  2. 在运行容器时通过提供和环境变量 HTTP_PROXY 和 HTTPS_PROXY 将代理设置添加到容器。将以下具有正确值的标志添加到您的命令中:-e HTTP_PROXY=<your_http_proxy:port> -e HTTPS_PROXY=<your_http_proxy:port>. 我自己的代理配置示例:
docker run \
-p 8080:8080 \
-p 50000:50000 \
-e HTTP_PROXY=http://10.65.100.13:8080 \
-e HTTPS_PROXY=http://10.65.100.13:8080 \
-v jenkins_home:/var/jenkins_home \
jenkins/jenkins:lts-jdk11

潜在问题

问题是 SSL 证书。Jenkins 在下载插件时,在未配置为使用代理工作的容器内工作时无法访问 CA 证书。这导致下载失败。即使我按照先前答案中的建议配置了 Jenkins 代理设置,也不好,因为容器本身无法通过代理进行通信。

阅读Docker 文档,我发现 Docker 应该从钥匙串访问 CA 证书本身,但它不会自动将代理设置添加到容器中。必须手动添加对容器的配置。这样做可以根据代理正确配置整个容器,并且容器能够访问 CA 证书。一旦容器按预期通过代理工作,Jenkins 本身就不需要额外的配置。

于 2021-09-21T07:27:42.840 回答