Redis gitlab可以';我无法保存项目。请稍后再试

Redis gitlab可以';我无法保存项目。请稍后再试,redis,gitlab,Redis,Gitlab,我只是尝试在我的gitlab实例上创建一个新的存储库。 我收到以下错误消息: 无法保存项目。请稍后再试 我检查了包含以下内容的日志: Completed 200 OK in 599.9ms (Views: 571.8ms | ActiveRecord: 6.2ms) Started GET "/projects/new" for 127.0.0.1 at 2013-12-07 01:59:43 +0100 Processing by ProjectsController#new as HTML

我只是尝试在我的gitlab实例上创建一个新的存储库。 我收到以下错误消息:

无法保存项目。请稍后再试

我检查了包含以下内容的日志:

Completed 200 OK in 599.9ms (Views: 571.8ms | ActiveRecord: 6.2ms)
Started GET "/projects/new" for 127.0.0.1 at 2013-12-07 01:59:43 +0100
Processing by ProjectsController#new as HTML
  Rendered projects/_errors.html.haml (2.2ms)
  Rendered projects/new.html.haml within layouts/navless (154.3ms)
  Rendered layouts/_head.html.haml (2.4ms)
  Rendered layouts/_search.html.haml (40.6ms)
  Rendered layouts/_head_panel.html.haml (50.5ms)
  Rendered layouts/_flash.html.haml (0.2ms)
Completed 200 OK in 223.1ms (Views: 214.9ms | ActiveRecord: 2.2ms)
Started POST "/projects" for 127.0.0.1 at 2013-12-07 01:59:56 +0100
Processing by ProjectsController#create as JS
  Parameters: {"utf8"=>"✓", "authenticity_token"=>"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=", "project"=>{"name"=>"repository", "path"=>"", "namespace_id"=>"6", "import_url"=>"", "description"=>""}, "commit"=>"Create project"}
  Rendered projects/_errors.html.haml (2.2ms)
  Rendered projects/create.js.haml (6.6ms)
Completed 200 OK in 476.6ms (Views: 226.9ms | ActiveRecord: 2.7ms)
在日志中的任何位置都看不到问题。 我还检查了环境: bundle exec rake gitlab:env:info RAILS\u env=production (在/home/git/gitlab中)

我还运行了以下命令: bundle exec rake gitlab:check RAILS\u ENV=production

Checking Environment ...

Git configured for git user? ... yes
Has python2? ... yes
python2 is supported version? ... yes

Checking Environment ... Finished

Checking GitLab Shell ...

GitLab Shell version >= 1.7.9 ? ... OK (1.7.9)
Repo base directory exists? ... yes
Repo base directory is a symlink? ... no
Repo base owned by git:git? ... yes
Repo base access is drwxrws---? ... yes
update hook up-to-date? ... yes
update hooks in repos are links: ...
group1 / repro1 ... ok
group1 / repro2 ... ok
group2 / repro3 ... ok
group1 / repro4... ok
group2 / repro5 ... ok
group5 / repro6 ... ok
group5 / repro7 ... ok
group3 / repro8 ... ok
group4 / repro9 ... ok
group1 / repro11 ... ok
group1 / repro12 ... ok
Running /home/git/gitlab-shell/bin/check
Check GitLab API access: OK
Check directories and files:
        /home/git/repositories: OK
        /home/git/.ssh/authorized_keys: OK
        /usr/bin/redis-cli: OK
gitlab-shell self-check successful

Checking GitLab Shell ... Finished

Checking Sidekiq ...

Running? ... yes
Number of Sidekiq processes ... 1

Checking Sidekiq ... Finished

Checking GitLab ...

Database config exists? ... yes
Database is SQLite ... no
All migrations up? ... yes
GitLab config exists? ... yes
GitLab config outdated? ... no
Log directory writable? ... yes
Tmp directory writable? ... yes
Init script exists? ... yes
Init script up-to-date? ... yes
projects have namespace: ...
group1 / repro1 ... yes
group1 / repro2 ... yes
group2 / repro3 ... yes
group1 / repro4... yes
group2 / repro5 ... yes
group5 / repro6 ... yes
group5 / repro7 ... yes
group3 / repro8 ... yes
group4 / repro9 ... yes
group1 / repro11 ... yes
group1 / repro12 ... yes
Redis version >= 2.0.0? ... yes
Your git bin path is "/usr/bin/git"
Git version >= 1.7.10 ? ... yes (1.7.10)

Checking GitLab ... Finished
我的Redis安装:

Package: redis-server
Source: redis
Version: 2:2.4.14-1
Installed-Size: 568
Maintainer: Chris Lamb <lamby@debian.org>
Architecture: amd64
Depends: libc6 (>= 2.7), libjemalloc1 (>= 2.1.1), adduser
Description-de: Persistente Schlüssel-Wert-Datenbank mit Netzwerkschnittstelle
 Redis ist eine Datenbank für Schlüssel-Wert-Paare. Sie ähnelt memcache,
 wobei die Datenmenge jedoch nicht flüchtig ist. Redis bietet zusätzlich
 native Unterstützung für die atomare Manipulation und Abfrage von
 Datenstrukturen wie Listen und Sets.
 .
 Der Datensatz wird vollständig im Speicher abgelegt und periodisch auf die
 Festplatte geschrieben.
Homepage: http://redis.io/
Description-md5: 9160ed1405585ab844f8750a9305d33f
Tag: implemented-in::c, role::program
Section: database
Priority: optional
Filename: pool/main/r/redis/redis-server_2.4.14-1_amd64.deb
Size: 234586
MD5sum: df2658e5243f8a99bc2205c16a154d0d
SHA1: 727b82f94497a578d35cc26a9bc29d141ff7131a
SHA256: 79e461471d7fa8ee046c441a184d1541ad343e9edf172a4d61659212eb4f4609
我的独角兽.rb

worker_processes 3
working_directory "/home/git/gitlab" 
listen "/home/git/gitlab/tmp/sockets/gitlab.socket", :backlog => 64
listen "127.0.0.1:8088", :tcp_nopush => true
timeout 30
pid "/home/git/gitlab/tmp/pids/unicorn.pid"
stderr_path "/home/git/gitlab/log/unicorn.stderr.log"
stdout_path "/home/git/gitlab/log/unicorn.stdout.log"
preload_app true
GC.respond_to?(:copy_on_write_friendly=) and
  GC.copy_on_write_friendly = true
check_client_connection false

before_fork do |server, worker|
  defined?(ActiveRecord::Base) and
    ActiveRecord::Base.connection.disconnect!
  old_pid = "#{server.config[:pid]}.oldbin"
  if old_pid != server.pid
    begin
      sig = (worker.nr + 1) >= server.worker_processes ? :QUIT : :TTOU
      Process.kill(sig, File.read(old_pid).to_i)
    rescue Errno::ENOENT, Errno::ESRCH
    end
  end
end

after_fork do |server, worker|
  defined?(ActiveRecord::Base) and
    ActiveRecord::Base.establish_connection
end
gitlab shell配置

user: git
gitlab_url: "https://scm.domain.tld/"
http_settings:
  self_signed_cert: false
repos_path: "/home/git/repositories"
auth_file: "/home/git/.ssh/authorized_keys"
redis:
  bin: /usr/bin/redis-cli
  host: 127.0.0.1
  port: 6379
  namespace: resque:gitlab
log_level: INFO
audit_usernames: false

您有一些类似的问题:

  • :解决了,我在
    gitlab.yml
    中做了两个更改,
    将“主机:本地主机”
    更改为
    “主机:127.0.0.1”
    ,并将
    的“repos_path”
    更改为正确的路径

  • 当前位置我使用了,它对我有效。
    我猜你需要一个不同版本的redis服务器

  • :MacOSx遇到了一些问题。所以我把mac换成了Ubuntu。我成功地安装了它


    • 您也有一些类似的问题:

      • :解决了,我在
        gitlab.yml
        中做了两个更改,
        将“主机:本地主机”
        更改为
        “主机:127.0.0.1”
        ,并将
        的“repos_path”
        更改为正确的路径

      • 当前位置我使用了,它对我有效。
        我猜你需要一个不同版本的redis服务器

      • :MacOSx遇到了一些问题。所以我把mac换成了Ubuntu。我成功地安装了它


      在研究并启用sql日志后,我发现了核心问题。 这不是gitlab.yml中的设置

      他们只告诉前端网站在哪里可用,或者是否使用https或什么端口

      我从6.2更新到6.3,昨天更新到6.3.1

      我认为更新脚本会很好地工作。 但他们没有

      gitlab删除了一个项目表列。 他们删除了默认分支的列。 我将该列设置为默认值,\u branch可以为null,它再次开始工作

      谢谢你的帮助


      Chris

      在研究并启用sql日志后,我发现了核心问题。 这不是gitlab.yml中的设置

      他们只告诉前端网站在哪里可用,或者是否使用https或什么端口

      我从6.2更新到6.3,昨天更新到6.3.1

      我认为更新脚本会很好地工作。 但他们没有

      gitlab删除了一个项目表列。 他们删除了默认分支的列。 我将该列设置为默认值,\u branch可以为null,它再次开始工作

      谢谢你的帮助


      Chris

      我刚刚检查了手动创建存储库的方法,就像我通过web前端创建存储库一样。但总是以复杂的方式这样做是没有意义的。其他管理员和开发人员也不会喜欢它。我不知道出了什么问题,也找不到任何调试选项来帮助我找到bug.thx,它使它更具可读性^^(帖子)我刚刚检查了手动创建存储库,它的工作原理就像我通过web前端创建它们一样。但总是以复杂的方式这样做是没有意义的。其他管理员和开发人员也不会喜欢它。我不知道出了什么问题,也没有找到任何调试选项来帮助我找到bug.thx,这使它更具可读性。^^(帖子)我尝试了第一个问题的建议。行为上没有任何改变。检查了我的Redis服务器版本。它是2.4.14,所以版本数应该足够高。我正在使用Debian WheezyI,还试图简单地用apt重新安装redit,获得purge redis server并安装redis server。但这也没用??????我没有改变它的设置方式。我只是将gitlab目录移动到home/gitlab,让舒尔满意:我按照gitlab网站上的说明重新安装了它。我只是重复使用了数据库,因为那里没有指向任何路径的反向链接。行为上没有任何改变。检查了我的Redis服务器版本。它是2.4.14,所以版本数应该足够高。我正在使用Debian WheezyI,还试图简单地用apt重新安装redit,获得purge redis server并安装redis server。但这也没用??????我没有改变它的设置方式。我只是将gitlab目录移动到home/gitlab,让舒尔满意:我按照gitlab网站上的说明重新安装了它。我只是重复使用了数据库,因为那里没有指向任何路径的反向链接。除了我的答案,Grreat反馈+1除了我的回答之外,请查看反馈+1.
      worker_processes 3
      working_directory "/home/git/gitlab" 
      listen "/home/git/gitlab/tmp/sockets/gitlab.socket", :backlog => 64
      listen "127.0.0.1:8088", :tcp_nopush => true
      timeout 30
      pid "/home/git/gitlab/tmp/pids/unicorn.pid"
      stderr_path "/home/git/gitlab/log/unicorn.stderr.log"
      stdout_path "/home/git/gitlab/log/unicorn.stdout.log"
      preload_app true
      GC.respond_to?(:copy_on_write_friendly=) and
        GC.copy_on_write_friendly = true
      check_client_connection false
      
      before_fork do |server, worker|
        defined?(ActiveRecord::Base) and
          ActiveRecord::Base.connection.disconnect!
        old_pid = "#{server.config[:pid]}.oldbin"
        if old_pid != server.pid
          begin
            sig = (worker.nr + 1) >= server.worker_processes ? :QUIT : :TTOU
            Process.kill(sig, File.read(old_pid).to_i)
          rescue Errno::ENOENT, Errno::ESRCH
          end
        end
      end
      
      after_fork do |server, worker|
        defined?(ActiveRecord::Base) and
          ActiveRecord::Base.establish_connection
      end
      
      user: git
      gitlab_url: "https://scm.domain.tld/"
      http_settings:
        self_signed_cert: false
      repos_path: "/home/git/repositories"
      auth_file: "/home/git/.ssh/authorized_keys"
      redis:
        bin: /usr/bin/redis-cli
        host: 127.0.0.1
        port: 6379
        namespace: resque:gitlab
      log_level: INFO
      audit_usernames: false