如何在gitlab上运行bundle install?

时间:2016-02-19 20:23:23

标签: ruby-on-rails ruby-on-rails-4 gitlab

昨天我将gitlab 8.4.3更新到8.4.4,在升级过程中我收到了与Gemfile.lock权限相关的错误,升级过程中断了。

今天,我无法访问我的gitlab安装,我将错误追溯到一个缺失的宝石,当我运行gitlab-rails时我得到了

Could not find ruby-saml-1.1.1 in any of the sources
Run `bundle install` to install missing gems.

当我尝试运行sudo -u git -H bundle install时,我得到了

sudo: bundle: command not found

我该如何安装这个宝石?哪个是运行bundle install的正确方法?

通过apt-get安装/升级gitlab。

更新:2016-02-22

原来gitlab没有提供bundle install命令,gems包含在.deb文件中。因此,我需要做的就是跳过迁移,只需安装新版本,然后 - 确认所有文件都已正确安装 - 运行迁移。

touch /etc/gitlab/skip-auto-migrations
apt-get dist-upgrade
gitlab-ctl reconfigure

protip: 进行问题排查时,请确保所有内容都已正确安装,然后运行gitlab-ctl reconfigure;它可以解决常见问题。

2 个答案:

答案 0 :(得分:0)

更新:更好的脚本

案例1。

image: ruby:2.1

# add bundle cache to 'vendor' for speeding up builds
cache:
  paths: 
    - vendor/

before_script:
  - bundle install --path vendor

deploy:
  stage: deploy
  script:
    - bundle exec <your_script>
  only:
    - master # the job 'deploy' will affect only the 'master' branch

案例2:何时需要JS运行时

image: ruby:2.1

before_script:
  - apt-get update -qy
  - apt-get install -y nodejs
  - bundle install --path vendor

cache:
  paths: 
    - vendor/

deploy:
  stage: deploy
  script:
  - bundle exec <your_script>
  only:
    - master # the job 'deploy' will affect only the 'master' branch

答案 1 :(得分:-1)

gitlab没有提供bundle install命令,gems包含在.deb文件中。

因此,只需安装新版本(跳过迁移),然后运行迁移。

touch /etc/gitlab/skip-auto-migrations
apt-get dist-upgrade
gitlab-ctl reconfigure