草庐IT

Capistrano

全部标签

ruby - 更改存储库 URL 后 Capistrano 部署失败

我通过Capistrano从Git存储库进行了简单部署。起初我从GitHub部署,一切正常。但是后来我将我的存储库移到了BitBucket,现在我得到了fatal:Couldnotparseobject'9cfb...'.一旦我改变,问题就消失了set:deploy_via,:remote_cache到set:deploy_via,:copy但这并不能解决问题,它只是绕过了它。有什么方法可以告诉Capistrano只删除旧缓存吗? 最佳答案 Capistrano2.X使用新地址删除并重新克隆repo:cd$deploy_to/sha

ruby-on-rails - 我如何在 Ubuntu 中使用 gem?

我最近升级到Ubuntu9.04,但在使用gems时遇到了问题。我使用apt-get安装了Ruby、Rubygems和Rails。rails命令确实有效。然后我安装了capistrano和其他gem,例如heroku。为此,我使用了命令:sudogeminstallXXX当我想使用cap命令时,它不起作用:bash:cap:commandnotfound与其他gem命令相同。我是否需要做一些特别的事情才能使gem命令起作用? 最佳答案 我的gem在哪里?您可以使用gemenvironment命令找到您的gem的存储位置。例如:chr

ruby-on-rails - Capistrano 中的 "role"到底是什么?

Capistrano配方中“角色”的用途和功能是什么?当我查看示例食谱时,我经常看到这样的内容:role:app,'somedomain.com'role:web,'somedomain.com'role:db,'somedomain.com',:primary=>true所以看起来角色基本上是一个服务器,Capistrano在其中执行命令。如果是这样,那为什么它被称为“角色”而不是“主机”或“服务器”?在上面的例子中,:app和:web角色有什么区别?:primary=>true选项有什么作用? 最佳答案 角色允许您编写仅适用于特

ruby - 我如何从 Capistrano 运行 rake 任务?

我已经有一个deploy.rb可以在我的生产服务器上部署我的应用程序。我的应用程序包含一个自定义rake任务(lib/tasks目录中的一个.rake文件)。我想创建一个cap任务来远程运行该rake任务。 最佳答案 更明确一点,在您的\config\deploy.rb中,在任何任务或命名空间之外添加:namespace:rakedodesc"Runataskonaremoteserver."#runlike:capstagingrake:invoketask=a_certain_tasktask:invokedorun("cd#{

ruby-on-rails - 在 Windows 上使用带有本地存储库的 capistrano 进行部署会引发错误

要使Capistrano正常工作,存储库是否必须可供外部访问?我在我的git存储库所在的本地目录中开发了一个Rails应用程序。我经常这样做:gitadd.gitcommit-am"itworksaftermyrecentchanges"现在我要部署:capdeploy但这给了我这个错误信息(路径略有改变):*executing`deploy'*executing`deploy:update'**transaction:start*executing`deploy:update_code'executinglocally:"gitls-remoteD:\\path\\to\\rails

ruby-on-rails - Capistrano问题

我在将应用程序部署到服务器时遇到问题。我已经安装并运行了msysgit、github和capistrano。我已经成功将我的应用推送到github并且可以成功运行capdeploy:setup从我的本地计算机在我的服务器上进行设置。但是..当我运行capdeploy:cold时,它要求我提供连接密码githubrepo然后它再次要求它连接到我的服务器但是然后它给我一个错误权限被拒绝(公钥)并返回。这似乎是我的key错误,但怎么会呢连接到我的服务器以执行capdeplo:setup?我的公钥在github和我的服务器上都是一样的正确的?此外,当运行capdeploy:setup时,它会询

capistrano-template:#< sshkit :: backend ::打印机的未定义方法`template'

为了将ERB模板与Capistrano(无铁轨)使用https://github.com/faber-lotto/capistrano-template,但是运行时[bundleexec]capstagingdefine_usermacros-n--traceCapistrano告诉我template方法未知SSHKit::Backend::Printer:**Invokestaging(first_time)**Executestaging**Invokeload:defaults(first_time)**Executeload:defaults**Invokedefine_usermac

php - Capistrano 中的回滚代码……用于 PHP 项目

如果Capistrano中的最后一个版本出现问题,我正在寻找一种简单的方法返回到以前的版本是否有类似“capgoback”的命令来撤消最后的部署?(从而将当前符号链接(symboliclink)更新到它的旧位置)这是内置的还是我只需要自己做一个任务?这是我的食谱:set:user,"root"set:use_sudo,falseset:domain,"www.domain.info"set:deploy_to,"/home/beta2"set:current_dir,"public_html"set:scm,"git"set:repository,"git@github.com:use

php - github php项目部署

我有一个项目,代码在github(一个私有(private)仓库)中,我正在寻找一个很好的部署方式。我知道capistrano,但不确定是否有更好的解决方案,想看看其他人的意见:)非常感谢任何帮助 最佳答案 作为PHP开发人员,您可能需要查看Phing.它可以执行gitcheckout并使用SSH进行部署等等。与Capistrano相比的一大优势是它是用PHP构建的,对您和您的团队来说可能更容易。 关于php-githubphp项目部署,我们在StackOverflow上找到一个类似的问

php - 通过 : remote_cache 使用 Capistrano + Gitlab 进行部署

我正在使用Capistrano部署PHPWeb应用程序,我们有一个内部gitlab服务器,该服务器无法从网络外部访问。我正在尝试使用remote_cache进行部署,因为如果将其用于复制会花费很多时间。我已经查过了This和This但没有得到想要的结果。我正在尝试以下代码。set:default_stage,"staging"ssh_options[:forward_agent]=trueserver"servername",:app,:web,:db,:primary=>trueset:application,"appname"set:scm,:gitset:repository,'