写点什么

用户购买之前先试用:Heroku 支持 GitHub 上的应用预览

  • 2014-08-17
  • 本文字数:1488 字

    阅读完需:约 5 分钟

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 上使用他们的服务。用户可以看一看 CloudAMQP MemCachier 开发中心的文章,并且注意下用不同语言开发的示例应用是如何仅仅通过简单的点击就完成测试和部署的。

我们在 Twilio 的好朋友为他们的快速应答元件添加了一个部署按钮,快速应答元件是一个通讯工具套件,应用场合包括从应急应答到社区组织。当按钮链接写在 README 文件中后,任何感兴趣的开发者都能够立刻将快速应答元件部署到 Heroku 中,并且在此之上按照他们的需求来使用。

Heroku 还指出,一些开源项目现在也有了配置好的 Heroku 按钮。第一个此类项目,被称为city-72 ,这是一个灾难应急准备的应用,任何城市都可以通过尝试使用Heroku 按钮来满足本地化的需求。这个应用演示了如何使用依赖于其他Heroku 插件比如PostgreSQL, SendGrid, 和New Relic 的代码。第二个应用来源于Heroku,它被称为 Starboard ,这是一个使用 Trello 来跟踪职员入职和离职任务的应用。

查看英文原文: Try Before You Buy: Heroku Supports Preview of GitHub Applications


感谢邵思华对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014-08-17 01:471424

评论

发布
暂无评论
发现更多内容

第四章作业

Rui

如何在不辞职的情况下,改变不喜欢的工作?

熊斌

2月春节不断更

产品经理训练营第四周作业

happy-黑皮

产品经理训练营

产品经理第 0 期训练营第四周作业提交

Krystal

作业

云随心

作业

ZEGO全新语音聊天室方案,2小时复刻 Clubhouse

ZEGO即构

极客大学·产品训练营·第三章作业(第四周)

二大爷

极客大学 极客大学产品经理训练营 产品训练营

产品经理训练营第四章作业(一)

新盛

抽奖助手小程序 发起抽奖用例

Shine

产品

产品训练营 - 第四周 - 作业

邹小胖

产品训练营

「产品经理训练营」作业 04:知识星球加入星球用例

狷介

产品经理训练营

日记 2021年2月10日(周三)

Changing Lin

2月春节不断更

0期产品训练营第四周作业-学情周报用例

skylar

产品经理训练营-第四周作业

玖玖

0期产品训练营-第4周小结

skylar

漂亮壁纸

小马哥

七日更 二月春节不断更 壁纸

从“乌鸡”到5G,不仅仅是谐音梗

脑极体

产品经理训练营笔记 - 业务流程与产品文档(二)

.nil?

产品经理训练营

第四周作业-核销优惠券用例

隋泽

产品经理训练营

第四周学习心得

Trigger

极客时间 产品经理训练营

UC01 用户 购买课程

克比

产品经理训练营第四章作业(一)

猫。

1分钟内的Linux性能分析法

Gopher指北

Linux 后端

并发编程系列:关于线程中断

程序员架构进阶

Java 并发 28天写作 2月春节不断更

百度闯关,照见互联网巨头造芯之路

脑极体

5. Python 循环的本质就是一段代码懒得重复写

梦想橡皮擦

Python Python Monad 2月春节不断更 python入门

抽奖小程序-活动发布用例分析及流程图

思亭

第四周作业

Geek_72d5ab

产品经理第四周总结

克比

手把手教你玩华为eNSP模拟器

用例

z

用户购买之前先试用:Heroku支持GitHub上的应用预览_GitHub_Richard Seroter_InfoQ精选文章