所以,問題不在於少見的,到目前爲止我已經收集的問題負載關於它的了,不過,沒有能夠解決這個我自己Capistrano的+ sidekiq /無法挑環境變量
我有以下任務:
namespace :sidekiq do
task :start do
on roles(:app), in: :sequence, wait: 5 do
within release_path do
as :deploy do
with rails_env: fetch(:rails_env) do
execute :bundle, "exec sidekiq -e production -C ./config/sidekiq.yml -L ./log/sidekiq.log -d"
end
end
end
end
end
end
任務正在內namespace :deploy do ... end
主deploy.rb文件
由於我的數據庫creds'在〜/ .profile中,sidekiq不能存儲在遠程計算機上稱爲運行的東西(我試圖把這些環境變量〜/ .bashrc等等......可能已經存在或在發現的問題中命名的任何點文件......沒有任何工作)。我幾乎可以做任何事情。
顯然,如果我在遠程計算機上運行_very_相同的命令,而不是通過capistrano,那麼一切正常。我結束了這個可憐的一個:
task :start do
run_locally do
%x(ssh [email protected]#{fetch(:application)} 'cd /var/www/#{fetch(:application)}/current && /home/xx/.rvm/bin/rvm 2.4.0 do bundle exec sidekiq -e production -C /var/www/#{fetch(:application)}/current/config/sidekiq.yaml -L /var/www/#{fetch(:application)}/current/log/sidekiq.log -d')
end
end
這就是說,如果錯誤的聲音對一些誰使用常規execute :bundle, '...sidekiq startup cmd...'
沒有這種問題明顯;感謝一個大型的很多提前任何幫助
最佳
您正在運行什麼樣的服務器? – DevJem
我猜沒有什麼奇怪的,ubuntu 16.04 – Ben