首页 > 解决方案 > 将存储库从 Gitlab.com 传输到自托管私有 Gitlab 实例时出错?

问题描述

我正在尝试将我的存储库从gitlab.com我新安装的自托管 Gitlab 迁移到我公司的内部基础架构上 - gitlab-private. 我在 gitlab.com 上工作,但现在我们已经在本地安装了自己的 gitlab,所以我不想创建新的仓库,而是想导入所有项目。

我已尝试按照这些步骤https://docs.gitlab.com/ee/integration/gitlab.html 将我的集成gitlab-privategitlab.com. 完成所有步骤后,我们会gitlab.com在登录页面上看到通过签名的选项。当我尝试登录时,它会弹出一个请求授权的弹出窗口,当我单击允许时,它会加载一段时间,然后我收到 500 错误。

我真的无法理解这里出了什么问题。我检查了日志,除此之外什么都没有——

Rack::Timeout::RequestTimeoutException (Request ran for longer than 60000ms):

config/initializers_before_autoloader/100_patch_omniauth_oauth2.rb:11:in `callback_phase'
lib/gitlab/metrics/elasticsearch_rack_middleware.rb:16:in `call'
lib/gitlab/middleware/rails_queue_duration.rb:33:in `call'
lib/gitlab/metrics/rack_middleware.rb:16:in `block in call'
lib/gitlab/metrics/transaction.rb:61:in `run'
lib/gitlab/metrics/rack_middleware.rb:16:in `call'
lib/gitlab/request_profiler/middleware.rb:17:in `call'
ee/lib/gitlab/jira/middleware.rb:19:in `call'
lib/gitlab/middleware/go.rb:20:in `call'
lib/gitlab/etag_caching/middleware.rb:13:in `call'
lib/gitlab/middleware/multipart.rb:140:in `call'
lib/gitlab/middleware/read_only/controller.rb:51:in `call'
lib/gitlab/middleware/read_only.rb:18:in `call'
lib/gitlab/middleware/same_site_cookies.rb:27:in `call'
lib/gitlab/middleware/basic_health_check.rb:25:in `call'
lib/gitlab/middleware/handle_ip_spoof_attack_error.rb:25:in `call'
lib/gitlab/middleware/request_context.rb:23:in `call'
config/initializers/fix_local_cache_middleware.rb:9:in `call'
lib/gitlab/metrics/requests_rack_middleware.rb:60:in `call'
lib/gitlab/middleware/release_env.rb:12:in `call'

==> /var/log/gitlab/gitlab-workhorse/current <==
{"correlation_id":"ddre45456f","duration_ms":60013,"host":"gitlab-private","level":"info","method":"GET","msg":"access","proto":"HTTP/1.1","referrer":"","remote_addr":"127.0.0.1:0","remote_ip":"127.0.0.1","status":500,"system":"http","time":"2020-09-23T20:24:12+01:00","uri":"/users/auth/gitlab/callback?code=dsjkfbdsbjhsdbhvbsnvhsvbdhjvsdfgfdgfdu0026state=sdfgfsfgsdfdsfgdfgsfdgdfgd","user_agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36","written_bytes":2926}

==> /var/log/gitlab/nginx/gitlab_access.log <==
10.9.12.224 - - [23/Sep/2020:20:24:12 +0100] "GET /users/auth/gitlab/callback?code=dsjkfbdsbjhsdbhvbsnvhsvbdhjvsdfgfdgfdu0026state&state=sdfgfsfgsdfdsfgdfgsfdgdfgd HTTP/1.1" 500 2926 "" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36" -

注意 - 我的 gitlab-private 实例与外界没有任何外部连接

让我知道是否有人可以提供建议。

标签: ruby-on-railsgitlabgitlab-cigitlab-ci-runner

解决方案


如果你有no external connectivity这样的集成是不可能的。

您在这里尝试实现的是 oAuth2 SSO。为此,您的实例必须可以从 oAuth2 提供程序访问,在您的情况下是 Gitlab.com。此外,您的实例必须能够访问 Gitlab.com 以进行必要的握手。

由于您只尝试迁移项目,因此只需在 Gitlab.com 上导出您的项目,然后在您的私有实例上再次导入它会容易得多。


推荐阅读