草庐IT

capistrano3

全部标签

ruby-on-rails - Capistrano 3 提取命令行参数

我正在从Capistrano2升级到Capistrano3。在Cap2中,我使用以下命令将命令行参数作为分支名称(否则默认为master)set:branch,fetch(:branch,"master")如果我调用capdeploy它将部署主分支。但它也让我可以做这样的事情:capdeploy-Sbranch=foo这将部署foo分支。现在,在Capistrano3中,如果我尝试运行上面的代码,我会得到一个错误:invalidoption:-S。现在通过命令行传递参数的正确方法是什么? 最佳答案 我最后做的是设置一个ENV变量。所

ruby-on-rails - Capistrano 3 提取命令行参数

我正在从Capistrano2升级到Capistrano3。在Cap2中,我使用以下命令将命令行参数作为分支名称(否则默认为master)set:branch,fetch(:branch,"master")如果我调用capdeploy它将部署主分支。但它也让我可以做这样的事情:capdeploy-Sbranch=foo这将部署foo分支。现在,在Capistrano3中,如果我尝试运行上面的代码,我会得到一个错误:invalidoption:-S。现在通过命令行传递参数的正确方法是什么? 最佳答案 我最后做的是设置一个ENV变量。所

git - Capistrano 和几个 SSH key

我需要Capistrano使用2个不同的SSHkey。一个用于git存储库,一个用于要部署到的服务器。无论我在.ssh文件夹中将哪个key重命名为id_rsa,都可以使用。另一个没有。如果我将gitkey重命名为id_rsa,Capistrano可以连接到git存储库,但无法在要部署的服务器上进行身份验证。如果我将其命名为其他名称,它将无法连接到git存储库。我知道另一个key有效,因为我可以执行ssh-i~/.ssh/otherKey.pem并且它将成功连接到服务器。这就是我的deploy.rbCapistrano文件中的内容。ssh_options[:keys]=[File.joi

git - Capistrano 和几个 SSH key

我需要Capistrano使用2个不同的SSHkey。一个用于git存储库,一个用于要部署到的服务器。无论我在.ssh文件夹中将哪个key重命名为id_rsa,都可以使用。另一个没有。如果我将gitkey重命名为id_rsa,Capistrano可以连接到git存储库,但无法在要部署的服务器上进行身份验证。如果我将其命名为其他名称,它将无法连接到git存储库。我知道另一个key有效,因为我可以执行ssh-i~/.ssh/otherKey.pem并且它将成功连接到服务器。这就是我的deploy.rbCapistrano文件中的内容。ssh_options[:keys]=[File.joi

ruby-on-rails - 如何将 Capistrano 配置为从本地 Git 存储库部署?

我需要对下面的deploy.rb文件进行哪些更改才能使其从本地git存储库部署我的应用程序?如果我不能从本地存储库部署,我可以让Capistrano使用工作复制吗?set:application,"my_app"set:repository,"."set:local_repository,"file:///path/to/application/.git"set:deploy_to,"/data/www/apps/#{application}"set:deploy_via,:copyset:copy_cache,trueset:user,"dane"set:use_sudo,false

ruby-on-rails - 如何将 Capistrano 配置为从本地 Git 存储库部署?

我需要对下面的deploy.rb文件进行哪些更改才能使其从本地git存储库部署我的应用程序?如果我不能从本地存储库部署,我可以让Capistrano使用工作复制吗?set:application,"my_app"set:repository,"."set:local_repository,"file:///path/to/application/.git"set:deploy_to,"/data/www/apps/#{application}"set:deploy_via,:copyset:copy_cache,trueset:user,"dane"set:use_sudo,false

ruby-on-rails - 在 Capistrano 任务中启动后台进程

capistrano任务namespace:servicedodesc"startdaemontools(svscan/supervise/svscanboot)"task:start,:roles=>:appdosudo"svscanboot&"endend现在这不起作用:svscanboot进程根本不运行。这帮助我找到了sleep:https://github.com/defunkt/resque/issues/284其他来源将我指向nohup、redirection和pty=>true,所以我尝试了所有这些。run"nohupsvscanboot>/tmp/svscanboot.

ruby-on-rails - 在 Capistrano 任务中启动后台进程

capistrano任务namespace:servicedodesc"startdaemontools(svscan/supervise/svscanboot)"task:start,:roles=>:appdosudo"svscanboot&"endend现在这不起作用:svscanboot进程根本不运行。这帮助我找到了sleep:https://github.com/defunkt/resque/issues/284其他来源将我指向nohup、redirection和pty=>true,所以我尝试了所有这些。run"nohupsvscanboot>/tmp/svscanboot.

mysql - 数据库 :schema:load vs db:migrate with capistrano

我有一个Rails应用程序,我正在移动到另一台服务器,我想我应该使用db:schema:load来创建mysql数据库,因为它是推荐的。我的问题是我正在使用capistrano进行部署,它似乎默认为rakedb:migrate。有没有办法改变这个或者capistrano使用db:migrate有充分的理由? 最佳答案 为什么要使用db:schema:load我发现我自己的迁移最终会对数据进行一些混洗(例如,假设我将first_name和last_name列组合成一个full_name列)。只要我做了其中任何一项,我就会开始使用Act

mysql - 数据库 :schema:load vs db:migrate with capistrano

我有一个Rails应用程序,我正在移动到另一台服务器,我想我应该使用db:schema:load来创建mysql数据库,因为它是推荐的。我的问题是我正在使用capistrano进行部署,它似乎默认为rakedb:migrate。有没有办法改变这个或者capistrano使用db:migrate有充分的理由? 最佳答案 为什么要使用db:schema:load我发现我自己的迁移最终会对数据进行一些混洗(例如,假设我将first_name和last_name列组合成一个full_name列)。只要我做了其中任何一项,我就会开始使用Act