CircleCI在rake db:create上构建失败



我有一个无法在CircleCI上构建的项目。所有测试均通过本地测试。如果构建失败,并且我使用ssh重新运行构建,那么我可以成功连接并运行所有命令,并且所有测试都在ssh会话中通过。

bundle exec rake db:create的生成失败

我尝试在config/application.rb中重新排列require语句,但没有成功。有什么想法吗?

以下是完整的回溯:

bundle exec rake db:create --trace
rake aborted!
/usr/local/lib/ruby/2.4.0/uri.rb:99: warning: already initialized constant URI::VERSION_CODE
/usr/local/lib/ruby/2.4.0/uri.rb:99: warning: previous definition of VERSION_CODE was here
/usr/local/lib/ruby/2.4.0/uri.rb:100: warning: already initialized constant URI::VERSION
/usr/local/lib/ruby/2.4.0/uri.rb:100: warning: previous definition of VERSION was here
NameError: uninitialized constant URI::Generic
Did you mean?  URI::Generic
/usr/local/lib/ruby/2.4.0/uri/ftp.rb:23:in `<module:URI>'
/usr/local/lib/ruby/2.4.0/uri/ftp.rb:13:in `<top (required)>'
/usr/local/lib/ruby/2.4.0/uri.rb:107:in `require'
/usr/local/lib/ruby/2.4.0/uri.rb:107:in `<top (required)>'
/usr/local/lib/ruby/2.4.0/uri/rfc2396_parser.rb:13:in `require'
/usr/local/lib/ruby/2.4.0/uri/rfc2396_parser.rb:13:in `<top (required)>'
/usr/local/lib/ruby/2.4.0/uri/common.rb:13:in `require'
/usr/local/lib/ruby/2.4.0/uri/common.rb:13:in `<top (required)>'
/usr/local/lib/ruby/2.4.0/uri/generic.rb:12:in `require'
/usr/local/lib/ruby/2.4.0/uri/generic.rb:12:in `<top (required)>'
/usr/local/bundle/ruby/2.4.0/gems/activesupport-5.2.4.1/lib/active_support/core_ext/object/json.rb:6:in `require'
/usr/local/bundle/ruby/2.4.0/gems/activesupport-5.2.4.1/lib/active_support/core_ext/object/json.rb:6:in `<top (required)>'
/usr/local/bundle/ruby/2.4.0/gems/activesupport-5.2.4.1/lib/active_support/core_ext/object.rb:13:in `require'
/usr/local/bundle/ruby/2.4.0/gems/activesupport-5.2.4.1/lib/active_support/core_ext/object.rb:13:in `<top (required)>'
/usr/local/bundle/ruby/2.4.0/gems/railties-5.2.4.1/lib/rails/configuration.rb:4:in `require'
/usr/local/bundle/ruby/2.4.0/gems/railties-5.2.4.1/lib/rails/configuration.rb:4:in `<top (required)>'
/usr/local/bundle/ruby/2.4.0/gems/railties-5.2.4.1/lib/rails/railtie/configuration.rb:3:in `require'
/usr/local/bundle/ruby/2.4.0/gems/railties-5.2.4.1/lib/rails/railtie/configuration.rb:3:in `<top (required)>'
/usr/local/bundle/ruby/2.4.0/gems/railties-5.2.4.1/lib/rails/railtie.rb:223:in `require'
/usr/local/bundle/ruby/2.4.0/gems/railties-5.2.4.1/lib/rails/railtie.rb:223:in `config'
/usr/local/bundle/ruby/2.4.0/gems/railties-5.2.4.1/lib/rails/railtie.rb:127:in `config'
/usr/local/bundle/ruby/2.4.0/gems/activesupport-5.2.4.1/lib/active_support/i18n_railtie.rb:11:in `<class:Railtie>'
/usr/local/bundle/ruby/2.4.0/gems/activesupport-5.2.4.1/lib/active_support/i18n_railtie.rb:10:in `<module:I18n>'
/usr/local/bundle/ruby/2.4.0/gems/activesupport-5.2.4.1/lib/active_support/i18n_railtie.rb:9:in `<top (required)>'
/usr/local/bundle/ruby/2.4.0/gems/activesupport-5.2.4.1/lib/active_support/railtie.rb:4:in `require'
/usr/local/bundle/ruby/2.4.0/gems/activesupport-5.2.4.1/lib/active_support/railtie.rb:4:in `<top (required)>'
/usr/local/bundle/ruby/2.4.0/gems/railties-5.2.4.1/lib/rails.rb:17:in `require'
/usr/local/bundle/ruby/2.4.0/gems/railties-5.2.4.1/lib/rails.rb:17:in `<top (required)>'
/usr/local/bundle/ruby/2.4.0/gems/railties-5.2.4.1/lib/rails/all.rb:3:in `require'
/usr/local/bundle/ruby/2.4.0/gems/railties-5.2.4.1/lib/rails/all.rb:3:in `<top (required)>'
/home/circleci/vce/config/application.rb:7:in `require'
/home/circleci/vce/config/application.rb:7:in `<top (required)>'
/home/circleci/vce/Rakefile:4:in `require'
/home/circleci/vce/Rakefile:4:in `<top (required)>'
/usr/local/bundle/ruby/2.4.0/gems/rake-10.5.0/lib/rake/rake_module.rb:28:in `load'
/usr/local/bundle/ruby/2.4.0/gems/rake-10.5.0/lib/rake/rake_module.rb:28:in `load_rakefile'
/usr/local/bundle/ruby/2.4.0/gems/rake-10.5.0/lib/rake/application.rb:689:in `raw_load_rakefile'
/usr/local/bundle/ruby/2.4.0/gems/rake-10.5.0/lib/rake/application.rb:94:in `block in load_rakefile'
/usr/local/bundle/ruby/2.4.0/gems/rake-10.5.0/lib/rake/application.rb:176:in `standard_exception_handling'
/usr/local/bundle/ruby/2.4.0/gems/rake-10.5.0/lib/rake/application.rb:93:in `load_rakefile'
/usr/local/bundle/ruby/2.4.0/gems/rake-10.5.0/lib/rake/application.rb:77:in `block in run'
/usr/local/bundle/ruby/2.4.0/gems/rake-10.5.0/lib/rake/application.rb:176:in `standard_exception_handling'
/usr/local/bundle/ruby/2.4.0/gems/rake-10.5.0/lib/rake/application.rb:75:in `run'
/usr/local/bundle/ruby/2.4.0/gems/rake-10.5.0/bin/rake:33:in `<top (required)>'
/usr/local/bundle/ruby/2.4.0/bin/rake:23:in `load'
/usr/local/bundle/ruby/2.4.0/bin/rake:23:in `<top (required)>'
/usr/local/bundle/gems/bundler-2.1.4/lib/bundler/cli/exec.rb:63:in `load'
/usr/local/bundle/gems/bundler-2.1.4/lib/bundler/cli/exec.rb:63:in `kernel_load'
/usr/local/bundle/gems/bundler-2.1.4/lib/bundler/cli/exec.rb:28:in `run'
/usr/local/bundle/gems/bundler-2.1.4/lib/bundler/cli.rb:476:in `exec'
/usr/local/bundle/gems/bundler-2.1.4/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/usr/local/bundle/gems/bundler-2.1.4/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
/usr/local/bundle/gems/bundler-2.1.4/lib/bundler/vendor/thor/lib/thor.rb:399:in `dispatch'
/usr/local/bundle/gems/bundler-2.1.4/lib/bundler/cli.rb:30:in `dispatch'
/usr/local/bundle/gems/bundler-2.1.4/lib/bundler/vendor/thor/lib/thor/base.rb:476:in `start'
/usr/local/bundle/gems/bundler-2.1.4/lib/bundler/cli.rb:24:in `start'
/usr/local/bundle/gems/bundler-2.1.4/exe/bundle:46:in `block in <top (required)>'
/usr/local/bundle/gems/bundler-2.1.4/lib/bundler/friendly_errors.rb:123:in `with_friendly_errors'
/usr/local/bundle/gems/bundler-2.1.4/exe/bundle:34:in `<top (required)>'
/usr/local/bundle/bin/bundle:113:in `load'
/usr/local/bundle/bin/bundle:113:in `<main>'
Exited with code exit status 1
CircleCI received exit code 1```

这可能不是一个完整的答案,但我在使用circleci/ruby:2.4.2-jessie-node映像时遇到了类似的问题。我没有深入研究,但从表面上看,加载URI::Generic类似乎有问题。

由于这个错误来自coreruby本身,我将其记为那个图像,并将图像更新为circleci/ruby:2.4.3-jessie-node,没有遇到同样的错误。

我有更多的信息,但还没有机会深入了解:

TL;博士

文件.circleci/config.yml更新:

docker:
- image: circleci/ruby:2.4.2-jessie-node

docker:
- image: circleci/ruby:2.4.3-jessie-node

最新更新