LINUX.ORG.RU

запуск пользовательских systemd ruby процессы

 , ,


0

1

создал файл

[Unit]
Description=Resque Worker %I [develop]
PartOf=resque-develop.target

[Service]
Type=forking
WorkingDirectory=/var/lib/jenkins/branches/develop
PIDFile=/var/lib/jenkins/branches/develop/tmp/pids/resque.pid
Environment="RACK_ENV=testing"
Environment="RAILS_ENV=testing"
Environment="BACKGROUND=yes"
Environment="INTERVAL=5"
Environment="QUEUE=sms"
Environment="COUNT=1"
ExecStart=/var/lib/jenkins/.rvm/gems/ruby-2.4.6/bin/bundle exec rake resque:workers
SyslogIdentifier="resque-worker-develop"
Restart=on-failure

[Install]
RequiredBy=resque-develop.target

но при старте пишет ошибку

Aug 24 17:23:05 testing "resque-worker-develop"[13953]: /var/lib/jenkins/.rvm/rubies/ruby-2.4.6/lib/ruby/2.4.0/rubygems.rb:271:in `find_spec_for_exe': can't find gem bundler (>= 0.a) (Gem::GemNotFoundException)

пишут что не соответсвует точная версия bundler, но у меня в файле Gemfile.lock стоит версия - 1.17.3

cat Gemfile.lock | grep -A 1 "BUNDLED WITH"
BUNDLED WITH
   1.17.3

и в gem стоит та же версия

gem list | grep bundle
bundler (1.17.3)

откуда он еще может брать не правильную версию bundle ?


предложу попробовать типа такого

/usr/local/rvm/bin/rvm default do bundle exec rake resque:workers

только путь поправить и, возможно, указать пути, где гемы искать

anonymous
()
Ответ на: комментарий от Flotsky

попробовал добавить еще

Environment="GEM_PATH=/var/lib/jenkins/.rvm/gems/ruby-2.4.6:/var/lib/jenkins/.rvm/gems/ruby-2.4.6@global"
Environment="GEM_HOME=/var/lib/jenkins/.rvm/gems/ruby-2.4.6"

и поменял старт команды на

ExecStart=/var/lib/jenkins/.rvm/bin/rvm default do /var/lib/jenkins/.rvm/gems/ruby-2.4.6/bin/bundle exec rake resque:workers

но при старте ругается

Aug 25 15:05:56 testing "resque-worker-develop"[28228]: bundler: failed to load command: rake (/var/lib/jenkins/.rvm/rubies/ruby-2.4.6/bin/rake)
Aug 25 15:05:56 testing "resque-worker-develop"[28228]: Bundler::GitError: The git source https://github.com/KODerFunk/evrobone.git is not yet checked out. Please run `bundle install` before trying to start your application
Garcia
() автор топика
Ответ на: комментарий от Garcia

всё равно ничего не понял. если у тебя стоит дженкинс, ты в его директориях пытаешься что-то запускать — ну так стартани его после ребута и сделай дальше по-человечески

vedowi6419
()
Ответ на: комментарий от Garcia

Please run bundle install before trying

bundle install или bundle update в ExecStartPre?

WorkingDirectory ему специфичную не надо указать?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.