我在rails应用程序中随时使用并使用capistrano进行部署。
问题在于,因为我只将它用于一个项目没有问题,但是当我在同一服务器上使用更多项目时,每次部署我的项目时,我都会销毁并重新创建cron文件。我需要每个项目更新它或附加新指令,以便在同一台服务器上共存。
我只是用
进行部署deploy.rb
set :whenever_command, "bundle exec whenever"
require "whenever/capistrano"
...
after "deploy:create_symlink", "deploy:update_crontab"
....
有人可以教我怎么办?
答案 0 :(得分:3)
您需要为项目命名空间,否则在部署时它们会相互覆盖:
set :whenever_environment, defer { stage }
set :whenever_identifier, defer { "#{application}_#{stage}" }
require "whenever/capistrano"
答案 1 :(得分:0)
使用capistrano V3,在部署文件中:
set :whenever_identifier, ->{ "#{fetch(:application)}_namespace" }