我一直在网上寻找人们在使用厨师/卡皮斯特拉诺对他们的网站进行缩放时所使用的实践,并且没有找到很多关于这个过程的信息,所以我想在这里问一问。
我们在服务器上以有限的方式使用厨师,我们正在使用capistrano进行部署。出于各种原因,我们不会使用厨师部署资源来部署我们的应用程序。我们将使用厨师引导应用服务器,以扩大我们的网站。
从我可以收集到的内容来看,我要做的是用一个app服务器角色引导节点,然后按照运行,上限部署。这将与红宝石和雾宝石与一些自定义脚本。
cap HOSTFILTER:ip.add.ress.here production deploy
我的问题是:
除了使用厨师部署之外,其他
Rails应用程序通过Capistrano很好地部署(在运行Apache前端的gentoo框上),Symlink指向正确的(最新)目录。只有服务器继续使用旧目录,重新启动Thin没有帮助。似乎好像正在进行一些缓存?
为测试目的在第二天重新启动通常的瘦服务器…
thin restart -s1 -p 3004 -e production
…突然间确实使用了最新的目录。但是,任何新的部署都不能被使用,场景再次开始。
# remote directories, via Capistrano
/release…1
/release…2
/release…3 # Server uses this dir
我需要在一个黄瓜场景中改变会话。
例如
Given session name is "1st unauthenticated user"
And make some things
Given session name is "2st unauthenticated user"
And make some other things
我找到了一个,但它不适用于Rails3、黄瓜和卡皮巴拉。还有其他的解决方案吗?
如果我把3个名字放在一行:
科瓦茨·阿尔伯特,科瓦茨·达维德,纳吉·巴拉兹
Surename是Kovács,Nagy
FamilyName是阿尔伯特,达维德,巴拉兹
如果我对Familyname运行rank()解析函数,输出会是什么?
1-Kovács Albert
1-Kovács Dávid
3-Nagy Balázs
或
1-Kovács Dávid
1-Kovács Albert
3-Nagy Balázs
或者它会是随机的?
我没有在我的电脑上安装甲骨文,如果你能给我一些在线免费学习实例,我将不胜感激…
我想把.env文件从本地机器上传到我的远程机器上,同时使用Capistrano,但是由于我不是Ruby,所以我没有得到我想要的结果。我想要做的是把我的本地.env放在shared_path中的远程机器上。之后,只需将其与current_path链接即可。
namespace :env do
desc "We take local env and set up on remote"
task :setup do
on roles(:app), in: :sequence, wait: 5 do
puts File.read(".env
有没有人知道如何通过卡皮巴拉触发hoverIntent事件?
在我的Rails应用程序的主视图中,当用户将鼠标悬停在表格单元格上时,编辑按钮就会出现在该单元格中。
我最近添加了jQuery 插件来延迟这些按钮的显示,这样当用户在页面上快速移动鼠标时,UI看起来不会像一个忙碌的切换面板。
不幸的是,hoverIntent的加入打破了几个黄瓜-卡皮巴拉-硒的测试。测试已经使按钮出现,步骤如下(简化):
And /^I hover on the table cell with ID "(.*)"$/ do |cell_id|
selector = "td#" +
我最近已经从卡皮斯特拉诺2转到了卡皮斯特拉诺3,有很多变化,我遇到了一些困难,试图使新的卡皮斯特拉诺适应在我正在做的项目中的卡皮斯特拉诺2。
我目前面临的最大问题是角色过滤。我知道你能做到:
ROLES=web,worker cap production deploy
但是,如果您有一个具有所有角色的服务器,那么这似乎没有任何实际作用。
有了卡皮斯特拉诺2,我可以跑:
cap worker deploy
所有的工作任务都会被应用。Capistrano 2在任务上指定了角色,如果没有请求角色,任务就会被跳过(在大多数情况下)。然而,Capistrano 3的情况似乎并非如此,在多服务器环境中,过