### 语言识别
若要支持平台的 一键部署 功能,代码的根目录下必须有 Gemfile 文件,即使没有任何 gem 依赖,也需要一个空的 Gemfile。
针对不同的ruby web开发框架有如下识别方式:
* 源码根目录存在 config.ru 文件,会被识别为 Rack 应用。
* 源码跟目录存在 config/environment.rb 文件,会被识别为Rails 2 应用。
* 源码根目录存在 config/application.rb文件且文件中包含Rails::Application 字符串,会被识别为Rails 3/Rails 4 应用。
### 运行环境
bundler的版本是平台用来管理和运行 Ruby 应用的,用户无法指定版本。
目前平台使用 Bundler 1.7.12 版本。
### 环境变量
ruby应用在好雨云平台运行时,下列环境变量将被设置:
* GEM_PATH => vendor/bundle/#{RUBY_ENGINE}/#{RUBY_ABI_VERSION}
* LANG => en-us
* PATH => bin:vendor/bundle/#{RUBY_ENGINE}/#{RUBY_ABI_VERSION}/bin:/usr/local/bin:/usr/bin:/bin
* GEM_PATH 被设置为 bundler gem vendor 目录
### 构建(build)
当应用部署时,会触发构建行为,这时 RAILS_ENV 或 RACK_ENV 变量被设置为 production 。Rails 4.1+ 版本 可以通过DATABASE_URL环境变量设置database.yml文件中的 url 来配置数据库。目前好雨云平台还未支持该特性,后续会支持。
更多关于数据库的配置参见:`Rails应用概述`中的数据库配置部分
### 默认的 Ruby 版本
系统默认会使用 Ruby 2.0.0。当然,你也可以自己指定一个要使用的版本,我们支持大部分的 ruby 版本。
### 支持的运行时环境
#### MRI:
* 1.8.7 : patchlevel 376, Rubygems : 1.8.24
* 1.9.2 : patchlevel 327, Rubygems : 1.3.7.1
* 1.9.3 : patchlevel 547, Rubygems : 1.8.23.2
* 2.0.0 : patchlevel 576, Rubygems : 2.0.14
* 2.1.6 : patchlevel 336, Rubygems : 2.2.2
* 2.2.2 : patchlevel 95, Rubygems: ; 2.4.5
`注意:Ruby 1.8.7 和 Ruby 1.9.2 官方已经停止支持,不再提供更新,不推荐使用`。
#### JRuby:
* 1.7.20, Ruby 版本: [1.9.3], Java 版本:1.7.0_45-b31
### 可用的运行时环境
一些其它版本的 JRuby 也在支持范围内。
#### JRuby:
* 1.7.1, Ruby 版本: [1.8.7, 1.9.3], Java 版本: 1.7.0_25-b30
* 1.7.2, Ruby 版本: [1.8.7, 1.9.3], Java 版本: 1.7.0_25>b30
* 1.7.3, Ruby 版本: [1.8.7, 1.9.3], Java 版本: 1.7.0_25-b30
* 1.7.4, Ruby 版本: [1.8.7, 1.9.3], Java 版本: 1.7.0_45-b31
* 1.7.5, Ruby 版本: [1.8.7, 1.9.3, 2.0.0 (experimental)], Java 版本: 1.7.0_45-b31
* 1.7.6, Ruby 版本: [1.8.7, 1.9.3, 2.0.0 (experimental)], Java 版本: 1.7.0_45-b31
* 1.7.8, Ruby 版本: [1.8.7, 1.9.3, 2.0.0 (experimental)], Java 版本: 1.7.0_45-b31
* 1.7.9, Ruby 版本: [1.8.7, 1.9.3, 2.0.0 (experimental)], Java 版本: 1.7.0_45-b31
* 1.7.10, Ruby 版本: [1.8.7, 1.9.3, 2.0.0 (experimental)], Java 版本: 1.7.0_45-b31
* 1.7.11, Ruby 版本: [1.8.7, 1.9.3, 2.0.0 (experimental)], Java 版本: 1.7.0_45-b31
* 1.7.12, Ruby 版本: [1.8.7, 1.9.3, 2.0.0 (experimental)], Java 版本: 1.7.0_45-b31
* 1.7.13, Ruby 版本: [1.8.7, 1.9.3, 2.0.0 (experimental)], Java 版本: 1.7.0_45-b31
* 1.7.14, Ruby 版本: [1.8.7, 1.9.3, 2.0.0 (experimental)], Java 版本: 1.7.0_45-b31
* 1.7.15, Ruby 版本: [1.8.7, 2.0.0 (experimental)], Java 版本: 1.7.0_45-b31
* 1.7.16, Ruby 版本: [1.8.7, 2.0.0 (experimental)], Java 版本: 1.7.0_45-b31
* 1.7.17, Ruby 版本: [1.8.7, 1.9.3], Java 版本: 7u45 (cedar), 8u40
* 1.7.18, Ruby 版本: [1.8.7, 1.9.3, 2.0.0 (experimental)], Java 版本: 7u45 (cedar), 8u40
* 1.7.19, Ruby 版本: [1.8.7, 1.9.3, 2.0.0 (experimental)], Java 版本: 7u79, 8u40
* 1.7.20, Ruby 版本: [1.8.7, 1.9.3, 2.0.0 (experimental)], Java 版本: 7u79, 8u40
* 9.0.0.0.pre1, Ruby 版本: [2.2.0], Java 版本: 8u40 (cedar-14)
* 9.0.0.0.pre2, Ruby 版本: [2.2.2], Java 版本: 8u40 (cedar-14)
#### 选择Ruby版本
在 Gemfile 里指定 Ruby 版本
~~~
source "https://ruby.taobao.org"
ruby "1.9.3"
~~~
注意
>#####由于国外的gem源速度比较慢,推荐使用淘宝的gem源
如果要指定非 MRI 的 ruby 引擎,需要使用 :engine 和 :engine_version 选项。你可以通过下面这行指定 JRuby :
`ruby "1.9.3", :engine ="jruby", :engine_version ="1.7.8"`
也可以通过在程序中执行以下 Ruby 代码指定版本
~~~
ruby ENV['CUSTOM_RUBY_VERSION'] || '2.0.0'
~~~
- 介绍
- 从这里开始
- 注册
- 登陆
- 云帮界面
- 功能介绍
- 新增应用
- 从镜像
- 从源码
- 应用市场
- 应用框架
- 我的应用
- 界面介绍
- 应用控制台
- 概览
- 依赖
- 监控
- 日志
- 设置
- 费用
- 端口
- 存储
- 扩容
- 总览
- 团队
- 财务中心
- 帐户充值
- 应用扣费
- 批量续费
- 语言支持
- 概述
- Java
- java-maven
- java-war
- java-jar
- web程序部署
- 使用Webapp Runner部署
- 使用Jetty Runner部署
- 示例代码
- gradle
- Scala
- play
- Ruby
- 语言支持
- ruby应用部署
- Rails 应用概述
- 部署Rails3.x应用
- 使用Puma 部署 Rails 应用
- 示例代码
- Python
- 语言支持
- Web框架支持
- 示例代码
- PHP
- 平台特性
- 语言支持
- 运行环境设置与调优
- 部署ThinkPHP框架程序
- 示例代码
- Go
- 语言支持
- 部署Beego等框架程序
- 示例代码
- Node.JS
- 语言支持
- 示例代码
- Html
- 语言支持
- 示例代码
- Dockerfile
- 语言支持
- 示例代码
- 相关文档
- Procfile
- Cron计划任务
- 参考知识
- 好雨Gogs使用说明
- Artifactory对接本地仓库
- 好雨如何对接Git Server
- Git使用技巧
- 服务框架支持
- dubbo
- springcloud
- 技术支持