昨天我将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
;它可以解决常见问题。
答案 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