Travis CI Ruby завершила работу с 1

#ruby-on-rails #ruby #travis-ci

#ruby-on-rails #ruby #travis-ci

Вопрос:

Я создал новое приложение rails, и когда я настроил .travis.yml-файл, из которого он постоянно выходит. Вот моя конфигурация travis:

 language: ruby
node_js:
  - 12
cache:
  bundler: true
  yarn: true
services:
  - redis-server
sudo: required
before_install:
- sudo apt-get update
- sudo apt-get install google-chrome-stable
addons:
  postgresql: '9.6'
before_script:
  - psql -c 'create database product_hunt_clone_test;' -U postgres
script:
  - bundle install
  - bundle exec rake db:schema:load
  - bundle exec rake db:test:prepare
  - SECRET_KEY_BASE=a RAILS_ENV=production bundle exec rake assets:precompile
  - bundle exec rake test
  - bundle exec rake test:system
  

и вот ошибки, которые выдает мне Трэвис:
скриншот из консоли travis

Ответ №1:

По-видимому, вы должны создать исходное приложение с использованием --skip-sprockets параметра. Таким образом, вы должны отключить использование конвейера ресурсов в своем приложении и при этом отключить необходимость (и возможность) запуска rake assets:precompile .

Если вам действительно нужен конвейер активов (и, следовательно rails-sprockets , драгоценный камень), вы можете повторно включить его, добавив

 gem "sprockets-rails"
  

к вашему Gemfile и раскомментировала строку

 # require "sprockets/railtie"
  

в вашем config/application.rb файле. Вам также необходимо будет создать файлы ресурсов по мере необходимости. Пожалуйста, обратитесь к документации для конвейера активов для получения подробной информации.

Если вы действительно хотите пропустить конвейер ресурсов, вы можете просто удалить вызов assets:precompile задачи из своего .travis.yml .

Ответ №2:

Правильно ли вы устанавливаете свои драгоценные камни (с bundle install ) перед выполнением ваших команд рейка? Похоже, вам понадобятся звездочки перед компиляцией ресурсов.

Комментарии:

1. Я запустил bundle install перед внесением изменений, но он по-прежнему выдает ту же ошибку. Как бы я использовал звездочки?

2. Вы запускали установку пакета локально или на сервере TravisCI? Попробуйте добавить - bundle install прямо под script

3. Я запустил локальную установку пакета. Он по-прежнему выдает мне ту же ошибку после добавления - bundle install