AppHarbor – .NET Cloud Platform as a Service

AppHarbor是一支援.NET的云端平台服务,它提供了云端的Repository让开发人员能将项目放置于云端,也能直接整合现有的Online Repository Solution (e.x.GitHub), 进行云端建置以及单元测试。简单的说,AppHarbor就是Online Repository + Online CI Server,不过不只那么单纯,它还提供了一些弹性,像是可以支持Add-ons之类的。

 

要使用AppHarbor首先我们要进行Sign Up。

 

Sign Up后到信箱收取验证信件,点击链接完成验证的动作。验证完登入,我们可以看到类似像下面这样的画面,左侧是项目列表,提供基本的排序功能,不过因为此时我们还没放置任何项目,所以这边会空荡荡的。至于右侧这边则是是用来新增项目的,这边笔者实际的建立个TestProject示范一下。

 

项目建立后,浏览器会导到像下面这样的项目页面,左侧有许多的设定项目,比较重要的就是Setting以及下方的两个按钮,右侧这边则是一些教学的连结以及add-on连结。

 

这边笔者先示范怎样将项目放置于AppHarbor。先按下左侧下方的REPOSITORY URL按钮,该项目对应的Repository会复制于剪贴簿中。

 

开启Git shell将Repository整个clone下来。

 

抓下来后放置个简单的C#项目进去

 

再将本地的修改推回云端

 

重新整理对应的AppHarbor项目页面,可以看到AppHarbor已经侦测到变动且开始建置。建置完,项目的首页会出现建置的结果,可清楚的一眼看出建置成功或失败。

 

点选建置的结果,可进一步查阅建置的细部状态,像是建置出来的档案、建置的log、与单元测试。也可以在这边将建置好的档案下载下来。

 

下载下来的档案用解压缩软件开启,可以看到建置的组件以及建置的log都放置在里面。

 

若是发生建置错误,可进一步点选后方的Show Log连结。

 

有更为详细的建置信息供开发人员排除错误。

 

这边可能有人注意到了,在这个例子中,我们在把Commit推到AppHarbor时,AppHarbor就自动进行了建置的动作。但是我们在做版本控制时,通常会有多个分支并行,并不是所有的分支都要进行建置,通常只有主分支会想要建置,这时我们可以进入设定页面设定Tracking branch。若是只是拿AppHarbor来充当Private Repository,设定这边也可以把建置的功能给关闭。

 

接着示范一下怎样用AppHarbor连结现有的Online Repository,这边笔者以Codeplex为例。首先按下项目页面左侧下方的BUILD URL按钮,该项目对应的建置用位置会复制于剪贴簿中。

 

开启笔者的LevelUp Serializer Codeplex专案,点选右上方的Edit Project Summary & Details连结,

 

卷到下方会看到WEB SITE DEPLOYMENT设定,勾选Enable AppHarbor deployment support.选项,并在下方的BUILD URL中贴上我们刚刚在AppHarbor复制的网址。

 

设定完后存盘,进行程序的编修。当云端的Repository有Commit进来时,AppHarbor会自动开始进行建置,建置的结果一样会列在项目的首页,跟直接将项目放置在AppHarbor没什么太大的差异。

 

 

一样也可以看到建置的细部状态,不过这边比较要提一下,因为笔者的这个CodePlex项目有写点单元测试,所以可以在建置的细部状态这边看到建置时花了10.77秒在运行单元测试,39个单元测试都运行通过。

 

若要看单元测试的运行状况,可点选下方的View test hierarchy连结,找到想要查阅的单元测试。

 

可以看到该单元测试的测试状态、测试时间、以及输出结果。

 

最后这边要特别提一下,虽然AppHarbor看起来很美好,但就笔者使用起来他有些限制存在。像是他建置是会把方案档内所有的项目建置,所以当我们加进一个ModelingProject进行程序的架构规划。

 

当Commit推上AppHarbor后

 

就会发现他建置错误了。

 

类似的问题很多,像是开发一个Visual Studio Extension,我们需要加装SDK,但SDK无法上到AppHarbor一样会建置错误。

posted @ 2015-06-27 18:56  菜鸟吊思  阅读(300)  评论(0)    收藏  举报