【问题标题】:Sidekiq not running on GitLab 6.0.0 installSidekiq 未在 GitLab 6.0.0 安装上运行
【发布时间】:2013-08-24 14:57:02
【问题描述】:

我已按照说明安装 GitLab 6.0.0:https://github.com/gitlabhq/gitlabhq/blob/6-0-stable/doc/install/installation.md

当我进入“检查应用程序状态”并运行时

sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=production

我看到“Bundler Version:unknown”:

System information
System:         Ubuntu 12.04
Current User:   git
Using RVM:      no
Ruby Version:   1.9.3p0
Gem Version:    1.8.11
Bundler Version:unknown
Rake Version:   10.1.0

GitLab information
Version:        6.0.0
Revision:       5246d63
Directory:      /home/git/gitlab
DB Adapter:     mysql2
URL:            http://my-server
HTTP Clone URL: http://my-server/some-project.git
SSH Clone URL:  git@my-server:some-project.git
Using LDAP:     no
Using Omniauth: no

GitLab Shell
Version:        1.7.0
Repositories:   /home/git/repositories/
Hooks:          /home/git/gitlab-shell/hooks/
Git:            /usr/bin/git

bundle --versionsudo -u git -H bundle --version 都显示 1.3.5,所以我不确定为什么上面的命令显示“未知”...

...所以我继续运行sudo service gitlab start,它显示“GitLab 服务已启动”,但似乎并非如此,因为sudo service gitlab status 说“GitLab 服务未运行”和@ 987654330@ 为空但具有权限:用户和组“git”的“drwxr-xr-x”。

axilleas 通过创建目录设法解决了这个问题,但这不是我的问题。

...我可能不应该期望它从这里开始工作,但我还是继续,但现在它在抱怨 sidekiq

sudo -u git -H bundle exec rake gitlab:check RAILS_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.0 ? ... OK (1.7.0)
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
post-receive hook up-to-date? ... yes
post-receive hooks in repos are links: ... can't check, you have no projects

Checking GitLab Shell ... Finished

Checking Sidekiq ...

Running? ... no
  Try fixing it:
  sudo -u git -H bundle exec rake sidekiq:start RAILS_ENV=production
  For more information see:
  doc/install/installation.md in section "Install Init Script"
  see log/sidekiq.log for possible errors
  Please fix the error above and rerun the checks.

Checking Sidekiq ... Finished

Checking GitLab ...

Database config exists? ... yes
Database is SQLite ... no
All migrations up? ... /home/git/gitlab/vendor/bundle/ruby/1.9.1/bin/rake: No such file or directory - bundle exec rake db:migrate:status
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 satellites? ... can't check, you have no projects
Redis version >= 2.0.0? ... yes
Your git bin path is "/usr/bin/git"
Git version >= 1.7.10 ? ... yes (1.8.3)

Checking GitLab ... Finished

adril 遇到过这个问题(但他的捆绑器工作正常)。他听从了建议,但由于某种原因,他的日志文件比我的信息多得多——我的只有一行:

nohup: 运行命令失败`bundle': 没有这样的文件或目录

...可能与“No such file or directory - bundle exec rake db:migrate:status”行有关?

不,我认为可以忽略它吗? - 这行得通:sudo -u git -H bundle exec rake db:migrate:status RAILS_ENV=production

编辑: 当我运行echo $PATH 时,我看到/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

我在 lib/tasks/gitlab/info.rake 添加了一些日志记录,结果发现 gitlab 使用了不同的路径:

/home/git/gitlab/vendor/bundle/ruby/1.9.1/bin:/usr/bin:/bin:/usr/sbin:/sbin

捆绑安装在/usr/local/bin

【问题讨论】:

  • 当我运行bundle --version 我看到Bundler version 1.3.5
  • 当我运行echo $PATH 时,我看到了/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games。 bundle 安装在 /usr/local/bin 我已经添加了一些日志到 lib/tasks/gitlab/info.rake ,结果 gitlab 使用了不同的路径:/home/git/gitlab/vendor/bundle/ruby/1.9.1/bin:/usr/bin:/bin:/usr/sbin:/sbin

标签: bundler gitlab sidekiq


【解决方案1】:

你可以尝试在 git 用户中运行失败的命令吗?我的意思是:

su
su - git
cd gitlab/
run commands..

也许 sudo 正在改变您的路径,如 here 所述。所以如果我是你,我会尝试再次安装 bundler,然后检查上面的答案(如果是你的情况)。

【讨论】:

  • 我认为其中一个脚本正在更改路径。我在 GitLab 正在查找的路径中创建了一个符号链接,以指向 bundler 的实际位置,现在似乎一切正常
  • @NicholasAlbion:如果您可以将修复作为答案发布并将其标记为您问题的答案,那就太好了...
【解决方案2】:

我不确定为什么会出现问题,也不知道如何在代码中修复它,但有一个简单的解决方法:

sudo ln -s /usr/local/bin/bundle /usr/bin/bundle

【讨论】:

    【解决方案3】:

    visudo
    默认值secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/rvm/gems/ruby-1.9.3-p392/bin:/usr/local/rvm/gems/ruby-1.9 .3-p392@global/bin:/usr/local/rvm/rubies/ruby-1.9.3-p392/bin

    【讨论】:

      【解决方案4】:

      我知道这是旧的,但我要添加一些信息,因为我有一个在 FreeBSD 上运行的 gitlab,我不得不更改一些东西。 也许这对于像我一样寻求解决方案的任何人都有用。

      对我来说 Sidekiq 问题是由 check.rake 中的错误命令引起的。 该脚本使用 ps ux,如果输出太长,它将修剪输出。 该脚本(在我当前的版本中)正在通过正则表达式检查它,并且 我的 ps 将进程显示为“ruby20:sidekiq 2.x.x”,其中 ps ux 输出在 sidekiq 周围被削减。 这也将在 Linux 上触发。 解决方案 - 在 ps 中添加“w”参数,例如:

       Gitlab::Popen.popen(%W(ps wux)
      

      如果您将它安装在不同的目录中,初始化脚本检查将失败,例如我有它作为/usr/local/etc/rc.d/gitlab。 综合和非综合都有一个script_path 条目。

      【讨论】:

        猜你喜欢
        • 2014-09-01
        • 2018-12-07
        • 2015-03-09
        • 2022-07-23
        • 2016-02-25
        • 2013-10-16
        • 2014-08-12
        • 2015-01-16
        • 1970-01-01
        相关资源
        最近更新 更多