来自 gitlab-ci 的状态不再显示在 gitlab 合并请求中

Posted

技术标签:

【中文标题】来自 gitlab-ci 的状态不再显示在 gitlab 合并请求中【英文标题】:Status from gitlab-ci not showing up anymore on gitlab merge request 【发布时间】:2014-04-22 11:00:21 【问题描述】:

据我所知,Gitlab-CI 运行良好。它运行并按应有的方式执行所有操作,但 gitlab 本身不显示状态。

我一直看到的是“检查 x 的 CI 状态”,微调器静止不动。

我得到的唯一线索是打开页面时的 gitlab production.log:

OpenSSL::SSL::SSLError (SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed):
  app/models/project_services/gitlab_ci_service.rb:39:in `commit_status'
  app/controllers/projects/merge_requests_controller.rb:165:in `ci_status'
  app/controllers/application_controller.rb:57:in `set_current_user_for_thread'

至少可以说这很奇怪。其他一切都很好,所以它对 gitlab 整体来说似乎并不系统。

Gitlab 详情:

GitLab 6.6.4
GitLab Shell 1.8.4
GitLab API v3
Ruby 1.9.3p194
Rails 4.0.3
GitLab CI 4.3.0 267edb0

我四处寻找,没有发现类似的问题。令人费解的是,它在 gitlab 中从 6.something 升级到 6.6.4 后停止工作。这不是关键部分,但消除了 CI 服务器的一些易用性。

【问题讨论】:

【参考方案1】:

我同意@ma_li,错误很可能是由于自签名证书。您应该避免在公共 URL 上使用自签名证书,因为这很容易被破解。相反,如果您不想购买,您可以申请免费的 SSL 证书,例如。来自 StartSSL https://www.startssl.com/

【讨论】:

您应该使用 StartSSL 证书,因为它们不受 Chrome 的信任。 Let's Encrypt 是一个更好的选择。 我完全同意,今天也是如此 :) StartSSL 已失效,因为我已经写了我的答案。【参考方案2】:

也许您正在使用自签名证书?我必须修补我的 Gitlab CI like this,然后设置 config.verify_ssl = false。 编辑:也许我应该提出一个拉取请求? :)

【讨论】:

以上是关于来自 gitlab-ci 的状态不再显示在 gitlab 合并请求中的主要内容,如果未能解决你的问题,请参考以下文章

在 Gitlab-CI 中启用并行构建

cypress 录制视频在 gitlab-ci 中不起作用

显示带有来自 Core Data 的布尔值的 .sheet

gitlab-ci docker-in-docker 访问不安全的注册表

Gitlab-CI 中存在已删除的标签

持续集成 Gitlab-CI Maven部署至服务器