草庐IT

capistrano3

全部标签

ruby-on-rails - Capistrano 无法从非主分支部署

我正在使用Capistrano(3.7.1)将我的Rails5应用程序部署到VPS。我在git中使用了2个主要分支:master,用于稳定的、生产就绪的代码,以及develop,用于WIP代码。我想将develop分支部署到临时服务器,但它似乎不起作用。在deploy.rb中:#Thisisthefailingtasktask:check_revisiondoonroles(:app)dounless'gitrev-parseHEAD'=="gitrev-parseorigin/#{fetch(:branch)}"puts"WARNING:HEADisnotthesameasorigi

ruby-on-rails - unicorn ,capistrano 安装

我有以下deploy.rb#RVMbootstrap#$:.unshift(File.expand_path("/home/tim/.rvm/lib"))$:.unshift(File.expand_path('./lib',ENV['rvm_path']))require'rvm/capistrano'set:rvm_ruby_string,'1.9.2'set:rvm_type,:user#bundlerbootstraprequire'bundler/capistrano'#maindetailsset:application,"polco"role:web,"13.213.13

ruby - 在 Capistrano/Capifony 中替换任务

我正在使用Capifony,Capistrano的特定于Symfony的扩展。我需要覆盖其中一个预定义任务以便运行我自己的symfony任务-替换https://github.com/everzet/capifony/blob/master/lib/symfony1.rb#L180中的task:permissions和我自己的。我已经尝试将以下内容添加到我的deploy.rb文件的末尾,但Capistrano没有接收它,而是使用已经定义的任务:namespace:projectdodesc"FixessymfonydirectorypermissionsusingCitizencard

ruby-on-rails - Capistrano 错误:Sprockets::FileNotFound:找不到文件 'bootstrap-sprockets'

我正在使用gem"bootstrap-sass"gem。在application.js中://=requirejquery//=requirejquery_ujs//=requirebootstrap-sprockets//=require_tree.在application.css.scss中:@import"bootstrap-sprockets";@import"bootstrap";在本地主机上一切正常,但是当我尝试使用Capistrano部署代码时,我收到此错误消息:...*executing"cd--/home/deployer/apps/app-name/releases

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 - 使用 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