0

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

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

4

3 回答 3

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
于 2012-12-19T18:59:14.070 回答
1

Typo 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 部署,这是重要的部分。当询问它是什么类型的应用程序时,选择“其他”,然后选择“机架”。继续选择 ruby​​1.9 作为框架,并确保为应用程序分配了相当数量的内存,至少 128M。也向应用程序添加一个新的 MySQL 服务。此时,应用程序应该可以部署并启动。

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

    像这样创建隧道vmc tunnel [name of the service],为客户端选择“无”,当隧道绑定时,您应该会看到弹出的数据库的凭据和名称。在另一个控制台窗口中修改 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,一旦完成(可能需要几分钟),安装应该很好!

希望这对您有用,有任何问题,请评论我的回答。

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

于 2012-12-19T18:33:09.140 回答
0

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

于 2012-12-19T13:40:27.510 回答