Heroku正在尝试将源代码转变成可运行的应用变得更容易。Heroku按钮是一段简单的HTML或者Markdown代码片段,它能够触发将公共GitHub代码仓库内的源代码发布到Heroku公共云平台的过程。这一功能使得Heroku成为具有快速预览,寄宿并且能够扩展开源web应用的具有吸引力的一个平台。 在上周发布的blog中,官方宣称Heroku按钮的设计是为了“使代码部署,运行以及升级的整个流程变得更加简单和方便”。如何实现这种简便性呢?以往开发者需要从代码仓库中复制出代码,创建一个应用容器,添加辅助的服务,并且运行安装脚本之后才能体验一个应用,这种方式将会被替换掉,取而代之的是Heroku提供的仅通过一键单击就能够完成编码应用配置并且从公共GitHub 代码仓库中发布源代码。 Heroku通过一篇更加深入的文章解释了该按钮背后实现原理的一些关键点。按钮本身是比较简单的,它在页面上只是展现为一张图片引用,通过超链接连接到https://heroku.com/deploy。 如果该连接是存在于GitHub仓库内的README文件里面的话,Heroku将通过读取请求中的“referer”头信息,来获取需要从哪个仓库内获取代码的信息。这是一种值得推荐的方式并且“是方便的方式,因为这样能够避免将具体代码仓库的URL硬编码在按钮中,容许仓库的挂钩和分支能够在不改变按钮href的情况下正常工作”。尽管如此,也有另外一种使用方式,那就是使用“template”这个查询字符串参数指向具体的仓库或者Git分支。Heroku采用app.json清单文件来描述web应用。开发者使用这个清单文件来设置应用名称,仓库,部署代码脚本,部署过程中的配置参数,以及在部署时需要调用哪些Heroku的附加插件。底下这个按钮是由InfoQ编辑创建的,该按钮指向包含Node.js应用的公共GitHub仓库。 点击那个按钮后,开发者将会被导向到Heroku,在这里开发者将会被一个单页配置工作流的页面引导来填写配置信息。用户需要填写应用的名称,目标区域,以及环境变量等。那么Heroku认为谁会是这项新服务最大的受益者呢?
而且, Heroku宣布已经有一些早期的插件合作伙伴已经开始使用这个按钮了。
Heroku还指出,一些开源项目现在也有了配置好的Heroku按钮。第一个此类项目,被称为city-72,这是一个灾难应急准备的应用,任何城市都可以通过尝试使用Heroku按钮来满足本地化的需求。这个应用演示了如何使用依赖于其他Heroku插件比如PostgreSQL, SendGrid, 和New Relic的代码。第二个应用来源于Heroku,它被称为 Starboard,这是一个使用Trello来跟踪职员入职和离职任务的应用。 查看英文原文: Try Before You Buy: Heroku Supports Preview of GitHub Applications 感谢邵思华对本文的审校。 |