(此文章同时发表在本人微信公众号“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. matplotlib绘制直方图【柱状图】

    代码: def drawBar(): xticks = ['A', 'B', 'C', 'D', 'E']#每个柱的下标说明 gradeGroup = {'A':200,'B':250,'C':330 ...

  2. [20160725]ArithmeticTest

    public class ArithmeticTest{ public static void main(String[] args) { int [] a={1,3,5,7,9,11,13,15}; ...

  3. Java 中常用缓存Cache机制的实现《二》

    所谓缓存,就是将程序或系统经常要调用的对象存在内存中,一遍其使用时可以快速调用,不必再去创建新的重复的实例.这样做可以减少系统开销,提高系统效率. AD: Cache 所谓缓存,就是将程序或系统经常要 ...

  4. Max Subsequence

    一个sequence,里面都是整数,求最长的subsequence的长度,使得这个subsquence的最大值和最小值相差不超过1. 比如[1,3,2,2,5,2,3,7]最长的subsequence ...

  5. poj 1326

    http://poj.org/problem?id=1326 一个模拟的水题 题意就是要你算飞行的英里数. F代表头等舱,为实际飞行的英里数的2倍. B为商务舱,为实际飞行的英里数的1.5倍. Y为经 ...

  6. gridview 实现鼠标悬浮行提示行中列的信息

    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) {          for (int i = ...

  7. URAL 2019 Pair: normal and paranormal (贪心) -GDUT联合第七场

    比赛题目链接 题意:有n个人每人拿着一把枪想要杀死n个怪兽,大写字母代表人,小写字母代表怪兽.A只能杀死a,B只能杀死b,如题目中的图所示,枪的弹道不能交叉.人和怪兽的编号分别是1到n,问是否存在能全 ...

  8. 警告:Assigning to 'id<Delegate>' from incompatible type 'ViewController *const_st

    原因: 你自己写了代理,设置了   delegate = self.但是self 没有遵守这个协议 只需要遵守这个协议就可以消除警告.

  9. 整合Struts2、Hibernate、Spring

    将项目中的对象和对象之间的管理,纳入spring容器,由spring管理 1 实现spring+hibernate集成 1.1 新建web项目 建立项目的包结构(package) 1.2加入jar包 ...

  10. Maven Java EE Configuration Problem 的完美解决办法

    背景: 最近在修改项目的时候,发现修改了项目依赖以后会出现如下图:Maven Java EE Configuration Problem 的问题,对于有强迫症的我来说,看到项目上面有个很小的红色小叉号 ...