把VSO作为GitHub上JavaScript项目的免费CI服务器
(此文章同时发表在本人微信公众号“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提供的构建代理。
最后就可以手动或者自动执行持续集成了。由于操作不是文字就能完全说明白的,建议大家“阅读原文”来查看图文并茂的细节。
把VSO作为GitHub上JavaScript项目的免费CI服务器的更多相关文章
- 如何从eclipse中下载并导入Github上的项目
eclipse导入项目,方法就是点击File ->Import,选择Existing Projects into Workspace 但前提是,你导入的这个项目原本就是用eclipse的构建的, ...
- 参与github上开源项目的大致流程和注意事项
Foreword github是一个很火的代码托管服务网站,可能好多人都想参与一两个项目玩一玩学习一下,但由于是纯英文的网站,可能又会止步于想法上没有动手实践.接下来我就介绍一下参与github上开源 ...
- 在GitHub上管理项目
在GitHub上管理项目 新建repository 本地目录下,在命令行里新建一个代码仓库(repository) 里面只有一个README.md 命令如下: touch README.md git ...
- 关于Windows azure从github上部署项目
自己做了一个闪存解析的webapi,今天尝试了一下加一个HelpPage,本地访问正常,但是在azure上就报错. 项目是不熟在WindowsAzure上的,项目自动同步github上的项目.gith ...
- github git 在GitHub上创建项目并将本地项目push到网站上
众所周知,git是与svn类似的版本控制系统,git的去中心化.分布式等的优点,在不久将来用户量大有可能超过svn, 常见的代码托管网站有GitHub,coding.net, gitee.com 码云 ...
- 在github上fork项目如何同步并解决冲突
在github上fork项目如何同步并解决冲突 在github上有些项目我们可能会进行一些自己功能的添加但是提交PR后作者基于设计或者其他原因考虑没有通过,但是这个功能又是我们必须的.这时我们就想自己 ...
- 打包github上的项目,并在本地使用
在GitHub上去找工具并把地址克隆下来 在本地创建一个文件夹,文件夹内右击 (建议路径为英文,并保证本机有github的软件: https://jingyan.baidu.com/article/9 ...
- 如何从零开始在github上新建项目
准备工作: (1)安装git: Git-2.16.1-64-bit.exe (2)新建一个文件夹grpc007,作为本地git仓库 (3)进入到grpc007目录,右键/打开git bash.使用gi ...
- 用Git向gitHub上传项目
用Git向gitHub上传项目 1.安装git 2.在git安装目录下,运行git-bash.exe 如图所示 3.在git中绑定你注册gitHub是的用户名.邮箱. $ git config -- ...
随机推荐
- 基于用户相似性的协同过滤——Python实现
代码基本来自项亮的<推荐系统实践>,把书上的伪代码具体实现,还参考了https://www.douban.com/note/336280497/ 还可以加入对用户相似性的归一化操作,效果会 ...
- linux系统vsftpd登陆慢卡怎么办
linux系统vsftpd登陆慢卡怎么办 浏览:145 | 更新:2013-12-31 00:50 vsftpd是linux系统中的一款ftp软件,用它可以实现文件,数据上传与下载,但有些用户会发现v ...
- JNative library not loaded, sorry ! win7 64位系统
java调用动态链接库时,使用myeclipse或者其他IDE工具时,针对于web程序,会报这样的错误: java.lang.IllegalStateException: JNative librar ...
- Spring Boot+AngularJS中因为跨域导致Session丢失
http://blog.csdn.net/dalangzhonghangxing/article/details/52446821 如果还在为跨域问题烦恼,请查看博主的 解决angular+sprin ...
- leetcode Add and Search Word - Data structure design
我要在这里装个逼啦 class WordDictionary(object): def __init__(self): """ initialize your data ...
- 【leetcode】Merge k Sorted Lists
Merge k Sorted Lists Merge k sorted linked lists and return it as one sorted list. Analyze and descr ...
- jQuery DataTables && Django serializer
jQuery DataTables https://www.datatables.net 本文参考的官方示例 http://datatables.net/release-datatables/exam ...
- Appium 服务器参数
# Appium 服务器参数 使用方法: `node . [标志]` ## 服务器标志所有的标志都是可选的,但是有一些标志需要组合在一起才能生效. <expand_table> |标志|默 ...
- java Thread和Runnable区别
①Thread类实现了Runnable接口,主要构造方法为Thread(Runnable target).Thread(Runnable target,String name).Thread(Stri ...
- Velocity 基本语法
Velocity 基本语法 Velocity 是一个基于 Java 的模板引擎框架,提供的模板语言可以使用在 Java 中定义的对象和变量上.Velocity 是 Apache 基金会的项目,开发的目 ...