(此文章同时发表在本人微信公众号“dotNET每日精华文章”,欢迎右边二维码来关注。)

题记:微软变得更加开放后,走向开放的不仅有.NET运行时、IDE工具,还有ALM服务器核心组件Team Foundation Server的SaaS版本Visual Studio Online。

Visual Studio Online(VSO)是微软ALM产品线的服务器核心组件的SaaS版,只要有微软账号都可以免费开通自己的VSO账户,创建不限数量的私有项目,只是限制了5个免费开发人员账号。过去一年VSO有了长足的进步,尤其最近上线了新的构建系统,对开源项目的支持更加容易。今天分享的文章就是介绍如何利用VSO来对托管在GitHub中的JavaScript项目进行持续集成。免费的哦。

JEREMY LIKNESS在这篇文章中,一开始介绍了VSO的一些概要情况后,就对VSO给出了一个极高的评价:“It’s quick, easy, and free.”。随后,介绍了实现这一目标的具体步骤。

1,对项目进行一点点轻微的改动。需要在packages.json文件中设定一个特殊的post-install脚本:

"scripts": {
"postinstall" : "node_modules/.bin/bower install"
}

.csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; } 2,在Github中给项目启用“Personal access tokens”以方便给VSO访问代码库。

3,在VSO中创建一个项目(或者用一个已有项目)。作者特别提到,他管理自己的日常工作都是在VSO中创建一个项目,利用其中的Kanban功能来管理。在我看来,这确实是一个好点子,就不用去使用Trello之类的产品了。

4,进入VSO项目,进入“Build”标签页,新建一个空的构建定义。有意思的是,在新建的时候,微软为大家提供了4中常用的模板,如下图:

5,进入构建定义编辑界面后,选择“Repository”标签页,代码库类型选择“GitHub”,并粘贴GitHub的访问Token,选择需要构建的GitHub项目。

6,添加所需的构建步骤,构建步骤也有类型可选,在这里可以选择“npm install”来确保Grunt和Bower已经安装;选择“Command Line”来执行Grunt构建命令;选择“Publish Build Artifacts”来把输出内容复制到服务器。

7,给构建服务器添加“npm”的能力。当然你也可以把构建服务器安装到自己额外的服务器上,而不使用VSO提供的构建代理。

最后就可以手动或者自动执行持续集成了。由于操作不是文字就能完全说明白的,建议大家“阅读原文”来查看图文并茂的细节。

原文地址:http://ivision.com/blog/using-visual-studio-online-to-build-a-github-hosted-javascript-project-with-npm-bower-and-grunt-for-free

把VSO作为GitHub上JavaScript项目的免费CI服务器的更多相关文章

  1. 如何从eclipse中下载并导入Github上的项目

    eclipse导入项目,方法就是点击File ->Import,选择Existing Projects into Workspace 但前提是,你导入的这个项目原本就是用eclipse的构建的, ...

  2. 参与github上开源项目的大致流程和注意事项

    Foreword github是一个很火的代码托管服务网站,可能好多人都想参与一两个项目玩一玩学习一下,但由于是纯英文的网站,可能又会止步于想法上没有动手实践.接下来我就介绍一下参与github上开源 ...

  3. 在GitHub上管理项目

    在GitHub上管理项目 新建repository 本地目录下,在命令行里新建一个代码仓库(repository) 里面只有一个README.md 命令如下: touch README.md git ...

  4. 关于Windows azure从github上部署项目

    自己做了一个闪存解析的webapi,今天尝试了一下加一个HelpPage,本地访问正常,但是在azure上就报错. 项目是不熟在WindowsAzure上的,项目自动同步github上的项目.gith ...

  5. github git 在GitHub上创建项目并将本地项目push到网站上

    众所周知,git是与svn类似的版本控制系统,git的去中心化.分布式等的优点,在不久将来用户量大有可能超过svn, 常见的代码托管网站有GitHub,coding.net, gitee.com 码云 ...

  6. 在github上fork项目如何同步并解决冲突

    在github上fork项目如何同步并解决冲突 在github上有些项目我们可能会进行一些自己功能的添加但是提交PR后作者基于设计或者其他原因考虑没有通过,但是这个功能又是我们必须的.这时我们就想自己 ...

  7. 打包github上的项目,并在本地使用

    在GitHub上去找工具并把地址克隆下来 在本地创建一个文件夹,文件夹内右击 (建议路径为英文,并保证本机有github的软件: https://jingyan.baidu.com/article/9 ...

  8. 如何从零开始在github上新建项目

    准备工作: (1)安装git: Git-2.16.1-64-bit.exe (2)新建一个文件夹grpc007,作为本地git仓库 (3)进入到grpc007目录,右键/打开git bash.使用gi ...

  9. 用Git向gitHub上传项目

    用Git向gitHub上传项目 1.安装git 2.在git安装目录下,运行git-bash.exe  如图所示 3.在git中绑定你注册gitHub是的用户名.邮箱. $ git config -- ...

随机推荐

  1. 关于jquery on方法进行事件绑定触发次数指数叠加的问题

    发生环境: $modal.on('click', '#search',function(e){}); 上面代码的语法是这样的: .on( events [, selector ] [, data ], ...

  2. ubuntu 安装 phpmyadmin

    安装步骤 1 apt-get install phpmyadmin 2 安装完后默认的安装位置是在/usr/share 而不是在/var/www 所以 需要将其链接到/var/www来,复制的话貌似需 ...

  3. DELPHI XE5开发WEB服务器及安卓手机客户端

    Xe5开发web服务端和手机客户端 ------------------------------------- Delphi xe5作为最新开发利器,就类似如当年的DELPHI,功能强大,快发速度快, ...

  4. java视频转码博客

    一下为找到的资料地址 http://lichen.blog.51cto.com/697816/162124 http://www.cnblogs.com/live365wang/archive/201 ...

  5. ABAP 单位转换函数

    CALL FUNCTION 'UNIT_CONVERSION_SIMPLE'         EXPORTING           input                = wa_all-btg ...

  6. codeforces 518B. Tanya and Postcard 解题报告

    题目链接:http://codeforces.com/problemset/problem/518/B 题目意思:给出字符串 s 和 t,如果 t 中有跟 s 完全相同的字母,数量等于或者多过 s,就 ...

  7. Mysql 分区

    关于分区操作,可参考:http://lobert.iteye.com/blog/1955841 这篇文章写的还是比较全面的. 关于Linear hash说明,可参考:http://www.bug315 ...

  8. JS获取阴历阳历和星期

    获取当前阳历日期时间,阴历日期和星期,三者分开,可自行调整顺序.  新建JS文件getdates.js,代码如下:/*获取当前阳历日期*/function getCurrentDateTime() { ...

  9. ios 多线程小结----- GCD篇

    //3 GCD(充分利用设备的多盒)-------------屏蔽了线程,只能看见任务 队列步骤两步,定制任务,将任务添加到队列.GCD将添加的任务,放到线程中去执行,自动执行,自动释放原则:先进先出 ...

  10. NYOJ题目1102Fibonacci数列

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAsQAAAKFCAIAAABEM2gdAAAgAElEQVR4nO3dP1Iqy98H4HcT5i7EmI ...