Ruby on rails 如何修复';坚固的::参考错误:revspec';原点/主控';未找到';关于Gitlab-CI
我正在尝试为Gitlab CI设置pronto,在本地一切正常,但是当pronto在Gitlab CI上运行时,会引发“RACKED::ReferenceError:revspec'origin/master'not found”错误Ruby on rails 如何修复';坚固的::参考错误:revspec';原点/主控';未找到';关于Gitlab-CI,ruby-on-rails,ruby,gitlab,gitlab-ci,Ruby On Rails,Ruby,Gitlab,Gitlab Ci,我正在尝试为Gitlab CI设置pronto,在本地一切正常,但是当pronto在Gitlab CI上运行时,会引发“RACKED::ReferenceError:revspec'origin/master'not found”错误 cache: paths: - vendor/ services: - name: mysql:8.0 command: ["mysqld", "--character-set-server=utf8mb4", "--collation-
cache:
paths:
- vendor/
services:
- name: mysql:8.0
command: ["mysqld", "--character-set-server=utf8mb4", "--collation-server=utf8mb4_unicode_ci", "--default-authentication-plugin=mysql_native_password"]
variables:
MYSQL_DATABASE: $MYSQL_DATABASE
MYSQL_ROOT_PASSWORD: $MYSQL_ROOT_PASSWORD
DB_USERNAME: $DB_USERNAME
DB_HOST: $DB_HOST
DISABLE_SPRING: 1
before_script:
- cp config/database.yml.example config/database.yml
- apt-get update -qq && apt-get install -y -qq cmake
- gem install bundler --no-document
- bundle check || bundle install --path vendor --jobs $(nproc) "${FLAGS[@]}"
spec:
script:
- bundle exec rspec
pronto:
script:
- bundle exec pronto run -c origin/master --exit-code
racked::ReferenceError:找不到revspec“原始/主版本”
vendor/ruby/2.6.0/gems/pronto-0.10.0/lib/pronto/git/repository.rb:87:in'merge_base'
vendor/ruby/2.6.0/gems/pronto-0.10.0/lib/pronto/git/repository.rb:87:in'merge_base'
vendor/ruby/2.6.0/gems/pronto-0.10.0/lib/pronto/git/repository.rb:17:in'diff'
vendor/ruby/2.6.0/gems/pronto-0.10.0/lib/pronto.rb:62:in'run'
vendor/ruby/2.6.0/gems/pronto-0.10.0/lib/pronto/cli.rb:66:in'block in run'
vendor/ruby/2.6.0/gems/pronto-0.10.0/lib/pronto/cli.rb:64:in`chdir'
vendor/ruby/2.6.0/gems/pronto-0.10.0/lib/pronto/cli.rb:64:in'run'
vendor/ruby/2.6.0/gems/thor-0.20.3/lib/thor/command.rb:27:in'run'
vendor/ruby/2.6.0/gems/thor-0.20.3/lib/thor/invocation.rb:126:in'invoke_命令'
vendor/ruby/2.6.0/gems/thor-0.20.3/lib/thor.rb:387:in'dispatch'
vendor/ruby/2.6.0/gems/thor-0.20.3/lib/thor/base.rb:466:in'start'
vendor/ruby/2.6.0/gems/pronto-0.10.0/bin/pronto:6:in`'
vendor/ruby/2.6.0/bin/pronto:23:in'load'
vendor/ruby/2.6.0/bin/pronto:23:in`'
我希望在gitlab上毫无例外地运行pronto我不知道这是否是最好的解决方案,但这对我很有用:
- 在gitlab repo中,转到设置->CI/CD
- 在General pipelines->Git strategy for pipelines一节中,标记选项
,而不是Git clone
Git fetch
- 我还必须在
调用上方添加一个pronto
命令:git fetch
Rugged::ReferenceError: revspec 'origin/master' not found
vendor/ruby/2.6.0/gems/pronto-0.10.0/lib/pronto/git/repository.rb:87:in `merge_base'
vendor/ruby/2.6.0/gems/pronto-0.10.0/lib/pronto/git/repository.rb:87:in `merge_base'
vendor/ruby/2.6.0/gems/pronto-0.10.0/lib/pronto/git/repository.rb:17:in `diff'
vendor/ruby/2.6.0/gems/pronto-0.10.0/lib/pronto.rb:62:in `run'
vendor/ruby/2.6.0/gems/pronto-0.10.0/lib/pronto/cli.rb:66:in `block in run'
vendor/ruby/2.6.0/gems/pronto-0.10.0/lib/pronto/cli.rb:64:in `chdir'
vendor/ruby/2.6.0/gems/pronto-0.10.0/lib/pronto/cli.rb:64:in `run'
vendor/ruby/2.6.0/gems/thor-0.20.3/lib/thor/command.rb:27:in `run'
vendor/ruby/2.6.0/gems/thor-0.20.3/lib/thor/invocation.rb:126:in `invoke_command'
vendor/ruby/2.6.0/gems/thor-0.20.3/lib/thor.rb:387:in `dispatch'
vendor/ruby/2.6.0/gems/thor-0.20.3/lib/thor/base.rb:466:in `start'
vendor/ruby/2.6.0/gems/pronto-0.10.0/bin/pronto:6:in `<top (required)>'
vendor/ruby/2.6.0/bin/pronto:23:in `load'
vendor/ruby/2.6.0/bin/pronto:23:in `<top (required)>'
pronto:
script:
- git fetch
- bundle exec pronto run -c origin/master --exit-code