NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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

评论

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

模块八作业

c

架构实战营

数字货币这波热潮,各国都舍不得错过

CECBC

KeilC51基础 改变代码的字体大小

万里无云万里天

IoT 嵌入式 KeilC51

Apache ShardingSphere 邀您相约 Open Source Day

SphereEx

万字长文,Spark 架构原理和RDD算子详解一网打进!

云祁

大数据 spark 7月日更

成功收到美团、字节、蚂蚁Offer后!我把狂刷 5 遍的面试题整理出来了!

Java 程序员 架构 面试

KeilC51基础 添加与删除中文时出现问号

万里无云万里天

IoT 嵌入式 KeilC51

模块一作业

燕燕 yen yen

#架构实战营

架构实战营作业模块一

五只羊

架构实战营

扩展Elasticsearch客户端简化ES查询(.net core/framework)

Spook

查看Linux端口占用,并关掉相关进程。

学神来啦

云计算 Linux 运维

iOS工程师如何恍然大悟?

程序员 IT 编程之路 iOS 知识体系

华云大咖说 | 安超虚拟化平台全“芯”亮点揭秘

华云数据

接下来的40年,碳中和对我们来说意味着什么?

CECBC

虚拟币合约交易平台搭建,永续合约交易系统源码

SQL巩固测试题

Flychen

CDH的安装(三)

大数据技术指南

CDH 7月日更

Hive学习笔记(二)

五分钟学大数据

hive 7月日更

视频云会议已成未来发展必然趋势

anyRTC开发者

音视频 WebRTC 视频会议 云视频

视频云峰会|“科技 X 艺术” 的颗粒度体验是什么?

阿里云视频云

阿里云 AR 艺术 摄影 vr

简单四步学会在数字孪生可视化场景中创建小地图!

ThingJS数字孪生引擎

大前端 地图 物联网 可视化 数字孪生

KeilC51基础 生成可以下载到单片机的Hex文件

万里无云万里天

IoT 嵌入式 KeilC51

网络攻防学习笔记 Day67

穿过生命散发芬芳

网络攻防 7月日更

367W字!京东商城Java架构师设计的亿级高并发秒杀手抄笔记

Java架构追梦

Java 架构 秒杀系统 亿级并发 京东商城

论文解读丨图神经网络应用于半结构化文档的命名实体识别和关系提取

华为云开发者联盟

文档 识别 图神经网络 半结构化文档 关系提取

两者可兼得,在IDEA中使用Git!

Ayue、

git 学习

KeilC51基础 利用仿真测试代码的运行时间

万里无云万里天

IoT 嵌入式 KeilC51

怎么在linux系统下安装Nginx?一分钟学会!

小桃

Linux 网络安全 系统

FIL币价值与未来, FIL币价值预估

[架构实战营]模块一作业

xyu

#架构实战营

揭秘版权保护下的视频隐形水印算法(上篇)

拍乐云Pano

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