2

我有一个问题,我想在我的 Gitea Repo 和 Jenkins 之间建立一个 CI/CD 管道。到目前为止,我使用 Gitea API 为 Jenkins 创建了一个 webhook。不幸的是,当我尝试将测试包从 Gitea 发送到 Jenkins 时,我收到 x509 错误,说证书无效

投递:post https://*************/jenkins: x509:证书对xxxxxxxxxxxx有效,不是yyyyyyyyyyyyyyy

另一方面,我无法在 Jenkins Web UI 中添加我的 gitea 服务器。如果我尝试这样做,我会收到一条错误消息,指出无法建立连接,因为:

无法与服务器通信:HTTP 403/Forbidden

我现在很绝望。我已经尝试将证书添加到 Jenkins 正在运行的机器上,以消除 x509 错误,但它没有帮助。此外,如果我尝试添加官方 try.gitea.io 服务器而不是我的服务器,它实际上可以工作。但是我在配置中设置了我的服务器,所以使用官方服务器不是可选的。

提前致谢。

4

2 回答 2

2

我在 Docker 容器中使用 Jenkins 版本 2.190.2 和 Gitea 插件版本 1.1.2 运行。

我看到消息有同样的问题

无法与服务器通信:HTTP 403/Forbidden

Jenkins > 管理 Jenkins > 配置系统 > Gitea 服务器

当我将服务器 URL 设置为使用 https 协议的 Gitea 服务器时(例如服务器 URL:https://gitea.mycompany.com和名称:mycompany_gitea)

我试图gitea.company.com通过 keytool 将证书添加到 Jenkins JVM 的受信任证书中,但没有成功(考虑 ssl 证书gitea.company.com是全球受信任的证书,而不是本地生成的或私有的证书)。

最后,我尝试通过添加新的 Gitea 组织文件夹

Jenkins > 新项目 > Gitea 组织(名称例如 mycompany)

尽管有问题消息。

我在“Gitea 组织”下配置了新的 Gitea 组织项目,具有以下值:

  • 服务器:mycompany_gitea
  • 凭证:(Gitea 用户的 Jenkins 凭证,可以访问所有 Gitea/git 存储库)
  • 所有者:(Gitea 组织/用户名)

还有... 达达!有用!我现在可以毫无问题地扫描 Gitea 组织。

因此,似乎消息

无法与服务器通信:HTTP 403/Forbidden

是一种“误报”,可以忽略...


考虑到消息

投递:post https://*************/jenkins: x509:证书对xxxxxxxxxxxx有效,不是yyyyyyyyyyyyyyy

通过与 Jenkins 的集成,我遇到了同样的错误。问题是 Gitea 不支持“证书发现”功能(例如像 Firefox 这样的浏览器,请参阅参考资料),并且 Jenkins 配置错误并且只发送最终实体证书。

让Jenkins发送整个证书链后,问题就消失了。

于 2019-10-31T16:49:48.267 回答
0

根据 Jenkins gitea 插件文档:

Hint: you can ignore a "HTTP 403/Forbidden" error here in case your gitea instance is private.

更多信息:https ://plugins.jenkins.io/gitea/

于 2021-05-31T07:43:24.627 回答