现在的位置: 首页 > 程序设计> 正文
Heroku 上的 Scala 程序设计
2011年10月04日 程序设计 暂无评论 ⁄ 被围观 5,313+

最近 Heroku 官方博客发布声明已经支持Scala语言《Scala now runs on Heroku》,本文就带领大家熟悉一下Scala App的开发流程。

目前有两种开发部署方式可供选择,一种类似《Heroku 上的 Java 程序设计》,采用Maven管理,另一种是利用 sbt (the Scala Build Tool) 去开发部署,本文以第二种方式来进行介绍。关于Heroku的详细介绍和本地的开发环境安装,请参照博文《Heroku 上的 Java 程序设计》,本文只对不同的地方做具体说明。

Heroku = Polyglot + Platform as a Service (PaaS) + Cloud Components

开发步骤

  1. 安装 Scala 开发工具 sbt(win7的环境我已经写好了配置文件,直接下载到工程目录中即可win7_sdt
  2. 登录 Heroku :
    heroku auth:login
  3. 创建一个新工程目录,例如careyscala,目录中新建文件 careyscala/build.sbt, 内容如下:
    scalaVersion := "2.9.1"
    
    {
      val stage = TaskKey[Unit]("stage", "Prepares the project to be run, in environments that deploy source trees rather than packages.")
      stage in Compile := {}
    }

    为Heroku添加一个新的 “stage” task.

  4. 建立编译配置文件 careyscala/project/build.properties ,用来指明sdt的版本,具体内容如下:
    sbt.version=0.11.0
  5. 建立 Scala app 源代码文件 src/main/scala/Hello.scala ,具体内容如下:
    object Hello extends App {
      println("hello, Carey")
    }
  6. 本地运行测试 app :
    sbt run

    程序输出,第一次运行比较慢,要耐心等待...需要从网上下载依赖包:

    [info] Set current project to default-bb7250 (in build file:/E:/Program%20Files/
    Heroku/work/careyscala/)
    [info] Updating {file:/E:/Program%20Files/Heroku/work/careyscala/}default-bb7250
    ...
    [info] Done updating.
    [info] Compiling 1 Scala source to E:Program FilesHerokuworkcareyscalatarge
    tscala-2.9.1classes...
    [info] Running Hello
    hello, Carey
    [success] Total time: 6 s, completed 2011-10-4 19:55:56
  7. 建立git配置文件 .gitignore ,具体内容如下:
    target
    project/boot
    project/target
  8. 建立 git repo, 添加文件并commit:
    git init
    git add build.sbt project/build.properties src
    git commit -m init
  9. 在 Heroku 服务端新建一个App:
    heroku create -s cedar
  10. 上传 Scala app 到 Heroku 服务器:
    git push heroku master
  11.  Heroku服务器端运行APP:
    heroku run "sbt run"

    哈哈,是不是看到期待的结果了

一切都是如此简单,通过这个Demo,相信大家已经熟悉了在Heroku上面开发和部署Scala App的基本流程了,接下来发挥你的创造力吧,如果有什么建议或问题的话,请联系我,官方开发论坛里面包含了好多宝贝,自己发掘吧!

参考文献

Getting Started with Scala on Heroku

给我留言

留言无头像?


×
腾讯微博