【发布时间】:2013-12-19 02:14:48
【问题描述】:
我正在尝试使用 Capistrano 将我的 Rails 应用程序部署到我的远程测试环境。我使用 Git 作为我的部署源。
当我运行cap development deploy 时,一切似乎都正常。在我的本地日志中,我什至看到据说部署了新版本。
INFO [887154fa] Running /usr/bin/env echo "Branch dev 部署为 Clay 发布的 20131219020401;"
当我登录到远程服务器以验证发布的部署时,我希望看到我的 Web 应用程序得到更新。相反,我的最新提交尚未部署。更奇怪的是,如果我导航到远程 myapp/releases 文件夹,我可以看到我的版本。
为什么不发布此版本?
deploy.rb
require "capistrano/rvm"
set :rvm_ruby_string, :local
set :rvm_autolibs_flag, "read-only"
set :stages, %w(development, test, production)
set :default_stage, "development"
set :application, 'myapp'
set :repo_url, 'git@github.com:cometman/myapp.git'
set :deploy_to, '/var/www/myapp'
set :scm, :git
set :branch, "dev"
set :deploy_via, :copy
set :keep_releases, 5
【问题讨论】:
-
这些提交是否在
dev分支中? -
是的,我正在推送到 dev 分支。
-
那么您最近的更改是在
releases还是current?也许您部署得很好,但在服务器上运行错误的版本?你用的是什么服务器? -
最新版本正在发布中。当您说错误的版本时,您的意思是错误的分支吗?我最初的目标是推动“开发”并让我的 CI 环境运行它的所有单元测试。成功后,这些更改将被推送到测试,并且 CI 测试将再次运行。最后,测试分支将发布到我的测试服务器。由于这不起作用,我切断了对测试部分的推送,并尝试在我的服务器上推送到开发、运行 CI 套件并部署到开发。
-
不,它应该指向
current,如果是这样并且该目录中的代码包含您的提交(并且 Passanger 在部署后重新启动)那么我不知道是什么导致了这个问题.
标签: ruby-on-rails git capistrano continuous-deployment