如何解决将存储库从Gitlab.com传输到自托管的私有Gitlab实例时出错?
我正在尝试将存储库从gitlab.com
迁移到新安装的自托管Gitlab,该文件位于公司内部基础结构-gitlab-private
上。我当时在gitlab.com上工作,但是现在我们已经在本地安装了自己的gitlab,所以我不想导入新的仓库,而是要导入所有项目。
我尝试按照以下步骤操作https://docs.gitlab.com/ee/integration/gitlab.html
将我的gitlab-private
集成到gitlab.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实例没有与外界的任何外部连接
让我知道是否有人可以提供建议。
解决方法
如果您有no external connectivity
,则无法进行这种集成。
您要在此处实现的是oAuth2 SSO。为此,必须从oAuth2提供程序(在您的情况下为Gitlab.com)可以访问您的实例。此外,您的实例必须能够访问Gitlab.com进行必要的握手。
当您仅尝试迁移项目时,只需在Gitlab.com上简单export your project,然后再将其再次导入到您的私有实例上,就会容易得多。