## 基于play框架运行应用 ### **语言识别** 云帮提供了基于play框架的源代码自动构建功能,当代码根目录包含如下文件时,平台会自动检测为Scala语言: - 根目录有`*.sbt`文件 - 有`project/*.scala`文件 - 有`.sbt/*.scala`文件 有上述三种文件之一即定义为`scala`项目。之后判断通过检查下面的文件判断是否为Play框架: * `conf/application.conf` 提交代码后会出现如下图提示: ![2016121258468buildpack-scala.jpg](http://7xihe6.com1.z0.glb.clouddn.com/2016121258468buildpack-scala.jpg) ### **启动** 除了以上设置,在运行play框架时,还必须创建Procfile文件,否则平台会无法执行jar文件。 **Procfile示例** ~~~ web: target/start $JAVA_OPTS ~~~ Procfile文件中的内容其实就是一些用来启动程序的命令。 ### 代理设置 环境构建过程中需要下载jar包,考虑到国内环境,我们添加了代理下载jar文件的功能。 - **企业版**,包括**云帮共有云**可以通过在应用高级页面中设置 `PROXY=true` 来启用好雨官方提供的代理服务。 **截图:** ![2016121213695buildpack-scala-proxy.png](http://7xihe6.com1.z0.glb.clouddn.com/2016121213695buildpack-scala-proxy.png) - **企业版/社区版** 可以通过在应用的高级页面中,添加环境变量:`SBT_EXTRAS_OPTS` 变量来设置,格式如下: ``` SBT_EXTRAS_OPTS= -Dhttp.proxyHost=proxyhostURL -Dhttp.proxyPort=proxyPortNumber -Dhttp.proxyUser=someUserName -Dhttp.proxyPassword=somePassword ``` 截图 ![2016121245142buildpack-scala-sbt-proxy.png](http://7xihe6.com1.z0.glb.clouddn.com/2016121245142buildpack-scala-sbt-proxy.png) <font color=red>**说明**</font> 1. `PROXY` 和 `SBT_EXTRAS_OPTS` 变量都可以提供设置代理功能。 2. `PROXY` 变量在 **公有云/企业版** 设置为true时使用好雨官方提供的代理服务。 3. `PROXY` 变量在社区版中暂时无效,但可以通过设置 `SBT_EXTRAS_OPTS` 变量使用自己的代理服务。