Gitlab:推送向 repo 注册,但管道未运行且项目 dashbaord 'last updated' 未更改

Posted

技术标签:

【中文标题】Gitlab:推送向 repo 注册,但管道未运行且项目 dashbaord \'last updated\' 未更改【英文标题】:Gitlab: pushes registering with repo, but pipelines not running and projects dashbaord 'last updated' is not changedGitlab:推送向 repo 注册,但管道未运行且项目 dashbaord 'last updated' 未更改 【发布时间】:2018-01-08 12:21:45 【问题描述】:

当我们推送到我们的存储库时,我们希望管道能够运行。但是,当我们推送时,管道已停止自动启动。

此外,当我们尝试手动启动管道时,并非所有标签和分支都显示在标签和分支的下拉列表中以供选择。当我们在 Gitlab 中浏览存储库时,我们可以看到分支和推送的提交。

最后,在/dashboard/projects 页面中,项目的“最后更新”日期已过时,表示“昨天”而不是“10 分钟前”(这是在查看项目中的存储库时显示的内容。

我们最近迁移了服务器,因此预计这里会出现一些迁移问题。有没有人知道在哪里解决这个问题(即哪些子系统可能无法正常工作/配置不正确以产生这种行为)?

Gitlab 版本:9.4.2

使用 Docker 运行:https://hub.docker.com/r/gitlab/gitlab-ce/

更新

我在推送到存储库时跟踪了日志,接下来是当时的大量日志(从推送的 SSH 连接开始)。 prometheus 周围的 404 可能很有趣,但我不确定这是否出乎意料(我们没有使用它):

==> /var/log/gitlab/sshd/current <==
2017-08-01_17:05:16.86559 Accepted publickey for git from (removed) port 57680 ssh2: RSA SHA256:(removed)

==> /var/log/gitlab/gitlab-rails/production.log <==
Started POST "/api/v4/internal/allowed" for 127.0.0.1 at 2017-08-01 17:05:17 +0000

==> /var/log/gitlab/gitlab-shell/gitlab-shell.log <==
I, [2017-08-01T17:05:17.088866 #2286]  INFO -- : POST http://127.0.0.1:8080/api/v4/internal/allowed 0.01170
I, [2017-08-01T17:05:17.089030 #2286]  INFO -- : gitlab-shell: executing git command <git-receive-pack /var/opt/gitlab/git-data/repositories/products/preside-ext-ems.git> for user with key key-2.

==> /var/log/gitlab/sshd/current <==
2017-08-01_17:05:17.20480 Received disconnect from x.x.x.x port 57680:11: disconnected by user
2017-08-01_17:05:17.20483 Disconnected from x.x.x.x port 57680

==> /var/log/gitlab/gitlab-rails/production.log <==
Started GET "/-/metrics" for 127.0.0.1 at 2017-08-01 17:05:18 +0000
Processing by MetricsController#index as html
Filter chain halted as :validate_prometheus_metrics rendered or redirected
Completed 404 Not Found in 1ms (Views: 0.4ms | ActiveRecord: 0.0ms)
Started POST "/api/v4/jobs/request" for 172.17.0.1 at 2017-08-01 17:05:18 +0000

==> /var/log/gitlab/gitlab-workhorse/current <==
2017-08-01_17:05:18.16504 gitlab.mycompany.com @ - - [2017-08-01 17:05:18.158505651 +0000 UTC] "POST /api/v4/jobs/request HTTP/1.1" 204 0 "" "gitlab-ci-multi-runner 9.4.1 (9-4-stable; go1.8.3; linux/amd64)" 0.006484

==> /var/log/gitlab/nginx/gitlab_access.log <==
172.17.0.1 - - [01/Aug/2017:17:05:18 +0000] "POST /api/v4/jobs/request HTTP/1.1" 204 0 "-" "gitlab-ci-multi-runner 9.4.1 (9-4-stable; go1.8.3; linux/amd64)"

==> /var/log/gitlab/gitlab-rails/production.log <==
Started POST "/api/v4/jobs/request" for 172.17.0.1 at 2017-08-01 17:05:23 +0000

==> /var/log/gitlab/gitlab-workhorse/current <==
2017-08-01_17:05:23.16534 gitlab.mycompany.com @ - - [2017-08-01 17:05:23.159064793 +0000 UTC] "POST /api/v4/jobs/request HTTP/1.1" 204 0 "" "gitlab-ci-multi-runner 9.4.1 (9-4-stable; go1.8.3; linux/amd64)" 0.006235

==> /var/log/gitlab/nginx/gitlab_access.log <==
172.17.0.1 - - [01/Aug/2017:17:05:23 +0000] "POST /api/v4/jobs/request HTTP/1.1" 204 0 "-" "gitlab-ci-multi-runner 9.4.1 (9-4-stable; go1.8.3; linux/amd64)"

【问题讨论】:

你需要在 gitlab 日志中查找错误。 是的 - 没有设法在许多日志文件中找到任何错误。 Gitlab 是使用 docker 还是普通系统运行? 是的,使用 docker。 通常在这种情况下,我会打开一个终端 docker logs -f &lt;containerid&gt; 然后在流量最少的关闭时间执行工作流并将日志从屏幕捕获到文本文件并进行分析。否则对于正在运行的 gitlab 服务器来说,日志太多了 【参考方案1】:

不是完全答案 - 但我已经清除了服务器并从头开始重建。手动重新创建每个项目并为每个项目导入存储库。

皇家 PITA,一切正常。

我只能猜测主机服务器上的某些设置导致了问题(我在主机上进行了全新安装以重新启动),或者只是简单地复制了我们所有的配置和数据目录导致问题的旧服务器到新服务器(似乎不太可能)。

恐怕帮助不大:(

【讨论】:

以上是关于Gitlab:推送向 repo 注册,但管道未运行且项目 dashbaord 'last updated' 未更改的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的容器注册表适用于 gitlab 自动部署,但不适用于我的自定义管道?

推送示例android gcm,已注册设备但未收到推送通知

为合并请求触发的管道运行应用 GitLab CI/CD 管道更改

如何能够将变量传递给 gitlab ci 管道中的规则?

GITLAB CI 管道,仅使用 git 标签运行作业

如何让 Gitlab CI 管道始终运行一些作业,而其他作业仅在合并请求上运行?