草庐IT

capistrano-env

全部标签

ruby-on-rails - 如何让使用 Puma 和 Capistrano 部署的 Rails 应用程序在重启时启动

我已经成功地使用Capistrano部署了Rails4、Puma、Nginx应用程序。当我部署capproductiondeploy时,一切正常。我的问题是,如果服务器因任何原因重启或崩溃,它不会重启。我在DigitalOcean上使用Debian8。似乎Debian8使用systemd,所以我按照Puma中的说明进行操作但它没有用。经过一番研究,我发现了更多的脚本,其中最合理的是:[Unit]Description=Rails-PumaWebserver[Service]Type=simpleUser=myuserWorkingDirectory=/home/myuser/apps/

ruby - 带 block 的 ENV.fetch 或带第二个参数的区别是什么?

我不确定是否:ENV.fetch("RAILS_MAX_THREADS"){5}和:ENV.fetch("RAILS_MAX_THREADS",5)是否相同。有什么区别? 最佳答案 区别在于缺少的变量名被生成到block中。在你的例子中,结果是一样的,因为你没有使用生成的字符串,但试试这个看看区别:ENV.fetch("RAILS_MAX_THREADS",5)#=>5ENV.fetch("RAILS_MAX_THREADS"){|missing_name|"Couldnotfindenvvarnamed"+missing_name

ruby - 何时/为何将 --env-shebang 与 ruby​​ gems 一起使用?

IkennaOkpalarecommendedthis.gemrc(我稍微修改了一下):---:verbose:true:bulk_threshold:1000install:--no-ri--no-rdoc--env-shebang:sources:-http://gems.rubyforge.org/:benchmark:false:backtrace:falseupdate:--no-ri--no-rdoc--env-shebang:update_sources:true我之前没有注意到--env-shebang。我在http://guides.rubygems.org/comm

ruby - 我可以将 cucumber 设置代码放在 env.rb 旁边吗?

我们正在寻找一个基于云的自动化框架,它可以很好地与我们在工作中使用的Cucumber和Selenium配合使用。在读完docs我需要修改我们的env.rb文件以放入一些设置代码。是否可以将此初始化代码放在不同的文件中?如果是这样,那将如何运作?原因是我不想让env.rb比现在更复杂,我们不确定我们是否会使用这个特定的框架并希望保留一些东西很简单,以防我们需要退出。理想情况下,我想将此初始化放在一个单独的文件中,并且只为特定的功能文件调用它,但我会尽我所能。 最佳答案 是的。你可以把它放在features/support目录下的任何文

ruby - 使用 capistrano 部署时切换用户?

有没有办法在不关闭当前session的情况下使用capistrano部署时切换用户(到root左右)?所以我想用用户foo开始部署,然后切换到root,然后执行一些命令。感谢您的回答! 最佳答案 您可以使用capistranosudo助手:task:some_task_as_rootdorun"#{sudo}some_command"end您甚至可以指定不同的用户:task:some_task_as_other_userdorun"#{sudo:as=>'other_user'}some_command"end如有必要,sudo助手

ruby-on-rails - capistrano 的部署问题

正在学习很好的教程here它确实帮助我解决了一些问题。Railsapache和rvm可以很好地协同工作。我快完成了,但卡在了最后一部分。基本上我有一个类似于他所拥有的部署文件,但似乎无法调试他正在寻找的东西。deploy.rb文件如下所示:#RVMBootstrap$:.unshift(File.expand_path('./lib',ENV['rvm_path']))require'rvm/capistrano'set:rvm_ruby_string,'1.9.2-p318'#bundlerbootstraprequire'bundler/capistrano'#maindetail

ruby-on-rails - Rails capistrano 根据登录到计算机的用户设置 deploy.rb 变量

我正在与多个开发人员一起处理一个项目,目前我们必须根据我们从谁的计算机进行部署来更改deploy.rb脚本中的变量。我们如何根据我们所在的计算机设置用户名和路径/到/项目?我们都在osx上运行。例子ifosxloggedinuser=="jeff"set:user,"jeff'susername'elseif...set:user,'blah'end我如何在rails/capistrano/osx中执行此操作? 最佳答案 os/xshell设置了一个环境变量$USER,它有登录用户的登录名。您可以在cap文件中将其引用为ENV['U

ruby - Capistrano 中具有属性(?)的多个角色

我如何在Capistrano中将属性传递给我的任务?我的目标是部署到负载均衡器中的多个服务器。我想按顺序取出、部署和添加每个服务器,这样任何时候都不会有超过一台服务器停机。我想这会是……(主机数组将在查询我的负载均衡器后动态生成)……role:app,[["server_one",{:instanceId=>"alice"}],["server_two",{:instanceId=>"bob"}],["server_three",{:instanceId=>"charles"}]]然后是我的任务...before:deploy,:deregister_instance_from_lba

ruby-on-rails - 如何在不提示输入密码的情况下部署 Capistrano?

当我在过程即将结束的某个时刻运行capdeploy时,我收到密码提示...**keeping5of6deployedreleases*executing"sudo-p'sudopassword:'rm-rf/opt/deployed_rails_apps/myapp/releases/20120922200242"servers:["myhost.com"][username@myhost.com]executingcommandPassword:有没有一种方法可以在不提示我输入密码的情况下完成它?这是我的deploy.rb...require"bundler/capistrano"r

ruby-on-rails - 如何在 Capistrano 部署的生产环境中对我的产品图像进行符号链接(symbolic link)?

Here我收到了我的问题的解决方案,每次当我使用Capistrano部署我的SpreeCommerce应用程序时,我的图像都会被删除(它们仍然存在,但文件夹名称错误)并且我必须通过管理员再次添加它们。都在thisGooglegroup在answer对于这个问题,据说符号链接(symboliclink)是解决方案。YouneedtomakesurethatyourRAILS_ROOT/public/spreedirectoryisbeingsymlinkedinfromtheCapistranoshareddirectoryandnotrecreatedeverytimeyoudeplo