5

我在我的 Rails 应用程序中随时使用并使用 capistrano 部署它。

麻烦的是,因为我只将它用于一个项目,所以没有问题,但是当我在同一台服务器上使用更多项目时,每次我部署我的项目时,我都会销毁并重新创建 cron 文件。我需要每个项目都更新它或附加新指令,以便在同一台服务器上共存。

我只是部署

部署.rb

set :whenever_command, "bundle exec whenever"
require "whenever/capistrano"
...
after "deploy:create_symlink", "deploy:update_crontab"
....

有人可以教我怎么做吗?

4

2 回答 2

3

您需要命名您的项目,否则它们会在您部署时相互覆盖:

set :whenever_environment, defer { stage }
set :whenever_identifier, defer { "#{application}_#{stage}" }
require "whenever/capistrano"
于 2012-11-25T12:03:01.287 回答
0

使用 capistrano V3,在您的部署文件中:

set :whenever_identifier, ->{ "#{fetch(:application)}_namespace" }
于 2016-10-03T15:20:08.947 回答