问题标签 [whenever-capistrano]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - Capistrano + 每当 gem:无法部署,“只要不是捆绑的一部分。将其添加到 Gemfile。”
我正在尝试将每当 gem添加到我的 Rails 项目中,我将 gem 添加到 Gemfile
并且安装没有任何问题。然后我在生成的schedule.rb
文件中添加了一个简单的任务:
然后我在文件中添加了以下内容deploy.rb
:
我尝试设置latest_release
,current_path
和release_path
,但在所有情况下总是相同的输出:
如何解决这个问题?(我正在部署到 Amazon EC2 - ubuntu)
谢谢
ruby - 谁在`deploy.rb`中定义`defer`?
在whenever
's README 中,有一个这样的例子,
我大概明白什么defer
意思,但我想知道它是如何工作的,以及它是如何实现的。
我在哪里可以找到源代码defer
?
ruby-on-rails - 狮身人面像索引的 cron 作业不起作用,但使用命令行
我正在使用 rails 3 并尝试在特定时间间隔后更新 cron 作业。当我使用 RAILS_ENV=production rake ts:index 时,它工作正常,但 sphinx 没有使用 cron 作业进行索引。等待您的解决方案。
以下是我的代码供您参考:
日程安排.rb
我检查这个命令
我得到以下输出,告诉 cron 作业正在运行
crontab -e 的输出
提前致谢。
ruby-on-rails-3 - 如何通过每当 gem 在 crontab 中设置 PATH 变量
是否可以通过无论何时 schedule.rb 文件在 crontab 中设置 PATH 或 SHELL 变量?
在我的 capistrano 部署之后,我希望在我的 crontab 中得到这个输出:
ruby-on-rails - Master Unicorn 进程一直在终止和启动新工人
就像我在标题中所写的 Unicorn 主进程最近(在部署和重新启动之后)一直在杀死工人并开始新的工人,这就是为什么我的 Rails 应用程序根本不工作的原因。除此之外,服务器上的 CPU 在此期间是 100%。但是,如果我让 cap unicorn:stop everytning 正确关闭,但在 cap unicorn:start 之后它会重新开始。
独角兽.rb:
结尾
和我的 deploy.rb
结尾
结尾
ruby - 每天早上 8 点到晚上 8 点的 Cron 作业,间隔 20 分钟
如何以20分钟的间隔每天运行,例如 cron 作业应该从cron job
每天开始,然后运行到. 谢谢。8:00 AM
8:00 PM
8:00 AM
8:20 AM
8:40 AM
9:00 AM
8:00 PM
编辑:如何用 rubywhenever
gem 实现它。
ruby-on-rails-3 - 每当 gem 在新服务器上从 Capistrano 中执行时
我在生产中有一个 Rails 3.2.14 旧版应用程序,它运行良好。我正在将此应用程序迁移到新服务器,并将在切换时从生产中迁移数据库。到目前为止,我已经启动了该应用程序并且它正在工作(大部分情况下)。但是当我使用 Capistrano 部署到该服务器时,无论何时 gem 似乎都没有运行(尽管它在原始生产服务器上运行并更新了 crontab)。
我使用 gem 0.7.3、capistrano 2.12.0、Ruby 1.9.3p194 来保持环境相同。
这是我在 Capistrano 中的 deploy.rb 的样子(并且可以在旧服务器上随时执行:
有趣的是,当我部署到我们的旧生产服务器时,任何时候都会使用 rake 任务执行和更新 crontab。但是,如果我在 deploy.rb 中切换 IP 并部署到我们的新服务器,它将不会执行,并且 Capistrano 输出不会显示任何我能看到的可疑内容。
有什么地方可以调试吗?我想保持两台服务器的 Capistrano/Rails 配置相同。只是不确定问题是什么。也许我忽略了一些东西。
还应该注意的是,当我在 app/current 目录中的新服务器上时,我可以运行以下命令,它将正确更新我的 crontab:
ruby-on-rails - Ruby on Rails、Capistrano、无论何时:Cron 作业未在生产服务器上执行
Ruby on rails + Capistrano + Whenever gem
我执行了whenever --update-crontab
,但仍然没有在生产服务器上执行 cron 作业。日志文件中没有日志。capistrano
尽管在不需要的开发中一切都很好。
日程安排.rb
部署.rb
头文件
有什么问题?如何调试?
ruby-on-rails-4 - 未定义的方法“零?” 对于 nil:NilClass (NoMethodError)
我将每当 Gem 添加到我的项目中。我按照指示将此代码添加到了我的 deploy.rb 中。
当我尝试运行 cap deploy 时出现以下错误。有任何想法吗?我的 schedule.rb 被注释掉了,所以不是这样。我的 ruby 是 2.1.3,rails 是 4.1.8。当它执行`whenever:update_crontab' 时会发生这种情况。
ruby-on-rails - 我如何防止何时/capistrano 覆盖其他环境的作业?
我有两个环境,staging
并且production
,在一台服务器上,使用 capistrano 3 进行部署。每个环境的部署相互冲突,完全取代了另一个环境的工作。
- 如果我 deploy
staging
,那么所有的 cronjobs 都会被删除并替换为引用staging
发布路径和环境的作业。所有production
作业都被删除。 - 如果我 deploy
production
,那么所有的 cronjobs 都会被删除并替换为引用production
发布路径和环境的作业。所有staging
作业都被删除。 - 如果我在on中做了一个
case
声明,并且只为某种情况设置了作业,那么在部署时它会完全清除 cronjobs。所有的工作都消失了。schedule.rb
@environment
when 'production'
staging
我需要达到以下两种情况之一:
- 有两组作业(一组 for
staging
和一组 forproduction
),每组作业都通过任一环境的部署持续存在(因此,在底部的示例中,将列出两个作业 - 一个用于staging
发布,一个用于production
发布) - 通过任一环境的部署持续存在的一组作业(仅用于
production
)(因此,staging
部署不应将其删除)
谁能解释这是如何完成的?我在下面包含了我当前的配置,以防万一。
版本
- 卡皮斯特拉诺:3.3.5
- 任何时候:0.9.4
- 红宝石:2.1.5
- 导轨:3.2.21
头文件
config/deploy/deploy.rb 中的相关行
配置/部署/production.rb
配置/部署/staging.rb
配置/时间表.rb
staging
部署后生成的 cronjob