Typo Rails 3博客应用程序会在CloudFoundry上运行吗?

时间:2012-12-18 17:20:53

标签: cloudfoundry

我正在尝试上传一个全新安装的Typo 6.1,我只是解压缩并选择了mysql作为数据库。正如人们所料,它在本地工作正常。但是当我将它推送到CloudFoundry时,应用程序将无法启动。它也没有给我一个错误,它只是拒绝开始。

有没有其他人让Typo 6在CloudFoundry上运行,如果有,你采取了哪些步骤来配置它?

3 个答案:

答案 0 :(得分:2)

是的,我在http://typo-jambay.cloudfoundry.com/

工作了

步骤1 - 对Gemfile进行编辑,较新的rake(10.0.3)似乎不高兴所以我们应该使用相同的次要更新。

变化:

gem 'rake', '>= 0.9.2'

gem 'rake', '~> 0.9.2'

步骤2 - 确保使用您计划使用的数据库运行bundle install。我使用了postgress,所以我将config / database.yml作为config中的postgres版本的副本。

步骤3 - 您可以像这样使用manifest.yml文件,如果您拥有最新版本的vmc(gem install vmc --pre),vmc push应该处理所有事情:

---
applications:
- name: typo
  framework: rails3
  runtime: ruby19
  memory: 256M
  instances: 1
  url: typo.${target-base}
  path: .
  services:
    postgresql-ccdb5:
      label: postgresql

答案 1 :(得分:1)

错字6是一个旧的Rails项目,但我有一个副本工作。它位于http://typo6.cloudfoundry.com

因此,要按照这些步骤进行部署;

  1. 克隆错字6存储库 - git clone git://github.com/fdv/typo.git

  2. 简化Gemfile,确保'mysql2'在那里

    source :rubygems
    
    gem 'rails', '~> 3.2.6'
    gem 'mysql2'
    
    gem 'require_relative'
    gem 'htmlentities'
    gem 'json'
    gem 'bluecloth', '~> 2.1'
    gem 'coderay', '~> 0.9'
    gem 'kaminari'
    gem 'RedCloth', '~> 4.2.8'
    gem 'addressable', '~> 2.1', :require => 'addressable/uri'
    gem 'mini_magick', '~> 1.3.3', :require => 'mini_magick'
    gem 'uuidtools', '~> 2.1.1'
    gem 'flickraw-cached', :require => 'flickraw'
    gem 'rubypants', '~> 0.2.0'
    gem 'rake', '~> 0.9.2'
    gem 'acts_as_list'
    gem 'acts_as_tree_rails3'
    gem 'fog'
    gem 'recaptcha', :require => 'recaptcha/rails', :branch => 'rails3'
    
    gem 'prototype-rails', '~> 3.2.1'
    gem 'prototype_legacy_helper', '0.0.0', :git => 'http://github.com/rails/prototype_legacy_helper.git'
    
    gem 'rails_autolink', '~> 1.0.9'
    gem 'dynamic_form', '~> 1.1.4'
    
  3. 将config / database.yml.mysql移至config / database.yml

  4. 执行bundle install

  5. 使用vmc进行部署,这是重要的部分。当询问它是什么类型的应用程序时,选择“其他”然后选择“机架”。继续选择ruby1.9作为框架,并确保为应用程序分配了大量的内存,至少128M。同时向应用程序添加新的MySQL服务。此时,应用程序应该部署并启动OK。

  6. 如果您现在访问该应用程序,您应该看到Rails 500错误。这是因为数据库尚未播种。要为数据库设定种子,您需要在本地创建一个到数据库的隧道,这样您就可以针对它运行db:seed rake任务。

    vmc tunnel [name of the service]那样创建隧道,为客户端选择'none',当隧道绑定时,您应该看到数据库弹出窗口的凭据和名称。在另一个控制台窗口中修改database.yml文件,使其具有这些详细信息,确保地址为127.0.0.1,而不是localhost。

    login: &login
      adapter: mysql2
      host: 127.0.0.1
      username: uzkeDkKwBnkmC
      password: pcf4oP3N2UbdV
      port: 10000
    
    
    development:
      database: df67f078353974ccd8b090ccb726c9109
      <<: *login
    
    test:
      database: typo_tests
      <<: *login
    
    production:
      database: typo
      <<: *login
    
  7. 隧道仍然打开,运行rake db:seed任务 - bundle exec rake db:seed,一旦完成(可能需要几分钟),安装应该是好的!

  8. 希望这适用于你,任何问题,只是评论我的答案。

    编辑:如果jambay的解决方案有效,请使用它,它更直接。

答案 2 :(得分:0)

您是否能够通过vmc logs命令检查Cloud Foundry上的日志?