OceaBase开发者大会落地上海!4月20日共同探索数据库前沿趋势!报名戳 了解详情
写点什么

用户购买之前先试用: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:471388

评论

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

大数据作用

纯纯

非传统的“易观”,和他的技术驱动之路

易观大数据

架构师训练营第十二周作业

叮叮董董

架构师培训 -12 hadoop

刘敏

加密数字货币钱包APP系统开发,数字货币钱包系统定制

13530558032

Git技术干货!工作中"Git"的使用实践和常用命令合集!

Geek Tech

git git常用命令 git常用实践 工作中git的使用

SpreadJS 纯前端表格控件应用案例:Teammark知识管理库

葡萄城技术团队

SpreadJS

易观郭炜:流动水系数造未来

易观大数据

LeetCode题解:155. 最小栈,使用链表代替栈,JavaScript,详细注释

Lee Chen

大前端 LeetCode

数字货币交易系统应用开发,区块链交易所app

13530558032

云小课 | 一份超实用的勒索病毒自救预防指南

华为云开发者联盟

勒索病毒 弱密码 云小课 企业主机安全 病毒云查杀

Android中的特殊攻击面(二)——危险的deeplink

OPPO安全

android 安全攻防 安全

2. Bean Validation声明式校验方法的参数、返回值

YourBatman

参数校验 Hibernate-Validator Bean Validation 方法校验

Redis问的太深入,面试官说:你先回去等通知吧

Java redis 编程 程序员 架构师

除了方文山,用TA你也能帮周杰伦写歌词了

华为云开发者联盟

AI 数据 周杰伦 modelarts 歌词

架构师训练营第 0 期第 12 周作业

无名氏

为什么阿里巴巴的程序员成长速度这么快,看完他们的内部资料我明白了

Java迁哥

Android的特殊攻击面(三)——隐蔽的call函数

OPPO安全

android 安全攻防 安全 函数

Github下载即将破百万的PDF:双十一高并发亿级流量秒杀顶级教程

Java 编程 程序员 秒杀 计算机

架构师培训十二周练习

小蚂蚁

如何实现特定列脱敏?这两种方法你都要会

华为云开发者联盟

postgresql 数据 脱敏 匿名 视图

区块链USDT支付系统,USDT承兑支付软件开发

13530558032

前端源码宝库

InfoQ_34a83d636158

疫情对在线教育的影响

anyRTC开发者

在线教育 直播 RTC 安卓

交易所合约跟单系统源码开发,合约跟单平台搭建

13530558032

释放数据价值:DAYU数据运营新能力解读

华为云开发者联盟

大数据 数字化转型 华为云 代码原理 数据运营

Android 中的特殊攻击面(一)——邪恶的对话框

OPPO安全

android 安全攻防 安全

架构师训练营十二周作业

方堃

一文说透"静态代理"与"动态代理"

Geek Tech

源码分析 动态代理 静态代理

收藏!一篇教会你写90%的shell脚本!

Geek Tech

Shell shell脚本编写 收藏教程

超声大数据应用

周冬辉

大数据

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