Heroku是一个云应用程序平台,专门用于解决服务器管理问题。您只需构建您的应用程序,通过Git将其推送到Heroku,然后放松一下。那么当提到部署一个Sinatra应用程序呢?让我们来看看…
如果你读过我的文章:用Sinatra构建一个数据驱动的应用程序,你可能已经准备好尝试部署了。由于Sinatra是一个Ruby应用程序,所以部署起来并不像一个PHP应用程序那么简单,但它仍然不难。
如果你刚刚开始入门Sinatra,你可能会觉得这个帖子有用。如果你已学过来自PHP的Sinatra,我写了一篇 Rubysource 的文章,向你展示如何用Sinatra创建一个博客应用程序。
您需要在Heroku有一个(免费)帐户。
假设您对本地应用程序感到满意,接下来要做的是确保您有一些文件:
我在上面的帖子中描述的Gemfile包含对应用程序中使用的所有Ruby gems的引用:
gem 'sinatra'
gem 'rdiscount'
gem 'data_mapper'
gem 'dm-migrations'
gem 'pony'
gem 'dm-postgres-adapter', :group => :production
gem 'dm-sqlite-adapter', :group => :development
group :production do
gem 'pg', '0.14.1'
end
你可能不需要这些:例如rdiscount和Pony。我将在稍后的帖子中讨论这些。记下生产和发展群组。Heroku并不支持Sqlite。
Sinatra是一个Rack应用程序,但Heroku与这些没有任何障碍。我们只需要一个文件来解释我们如何让我们的应用程序运行:
在config.ru你需要以下内容:
require './main'
run Sinatra::Application
你可以通过源代码管理系统Git部署到Heroku 。你可以从命令行初始化一个Git仓库:
git init
你还需要Heroku gem:
gem install heroku
当在命令行中时,需要将您的密钥连接到Heroku,以便在Heroku的计算机之间进行安全通信:
heroku keys:add
系统会要求您添加您创建Heroku帐户的凭据。
回到命令行上:
heroku create nameofapp
nameofapp的位置是根据你想要你的应用程序取什么名决定的,铭记Heroku将用这样的网址创建你的应用程序:nameofapp.herokuapp.com。
然后,假设你已经提交了最新的更新,你可以这样做:
git push heroku master
你会看到Heroku收到推送,压缩文件,安装所需的Ruby gems,运气好的话,你将可以部署你的应用程序。
现在你需要做的就是继续开发你的应用程序,提交和Git推送到Heroku进行部署。