想着你正在做一个网站
终于大功告成了,提交了代码后,你按下了开发环境的Build菜单,一杯咖啡后,Build Succeed,然后连接服务器,开始部署
当你乐滋滋的享受着你的开发成果时,突然发现了一个bug!于是你再次修改代码,build,部署
发现bug … 修改 … build … 部署…
发现bug … 修改 … build … 部署…
…
No! 真是够了,好烦
云端的持续集成
如上图所示,引入持续集成后,一切都变得方便了,当开发人员向源代码控制服务器提交了新的代码后,就会触发持续集成服务器的Build操作,Build完成后,还会执行测试,测试通过以后,根据配置的不同,可以手动或自动部署到生产环境
这一切都是自动的,对于开发人员来说,只需要把代码提交到Source Control就可以了,非常方便
随着SaaS的兴起,AppVeyor把持续集成搬到了云端,我们无需架设自己的CI服务器,只需注册一个账号,然后把GitHub, BitBucket或者TFS 连上AppVeyor就可以了
AppVeyor与GitHub的集成
本文以GitHub为例,介绍AppVeyor与源代码控制服务器的集成
首先你要在GitHub有一个项目
以一个ASP.NET项目为例子吧,一个MVC项目,带有一个单元测试,登录AppVeyor后,点击【New Project】
选择项目,点击【ADD】,这样就可以把项目和AppVeyor关联了起来
直接点击右边的【New Build】就可以Build了
在Build之前,我们可以做一些配置
在【SETTINGS】里面有一个版本号,这个版本号是唯一的,用来标识build的,但不会成为生成的程序集的版本号,如果你想让它成为程序集的版本号也是可以的,
在页面下面,把这个打开就可以了
在Build选项卡我们可以设置build的方式,是msbuild,还是脚本,还有配置(Debug, Release)和平台 (x64, x86, Any CPU)
还可以让他在Build成功后生成Web Deploy Package 或是Nuget Package
针对不同项目的build需求,可以选择不同的操作系统环境
如果需要数据库或是其他软件,也可以添加
还可以改hosts文件哦
当一切配置好后,我们按下Build
经过一两分钟的排队等待后,build正式开始
可以实时查看Build的状态
Build完成后,发现并运行单元测试,oops... Fail 了一个
我们在Test选项卡可以很直观的看到结果,好了别看了,我们去修bug
还有邮件通知。。。
修好后Commit,AppVeyor就会检测到GitHub的代码更改,然后自动进行build和test
这次的测试通过了,由于我勾选了生成Web Deploy Package,这里会有一个部署包,可以下载然后拿去部署
AppVeyor与生产环境的对接
如果要把部署包下载下来部署,那么还有什么方便可言呢?
我们可以直接通过AppVeyor把程序部署到生产环境,这里我们以Azure Website(中国版= =)为例
到azure 的管理页面下载他的publish settings ,用文本编辑器打开,
然后在AppVeyor 的 environments里面新建一个部署环境
按照publish setting的信息填写
需要注意的是,在server里面的填写需要改成这样的格式
本例中是 https://appveyordemo.scm.chinacloudsites.cn:443/msdeploy.axd?site=appveyordemo
创建好环境以后,只需点击Deploy 选择一个build,然后就可以了
部署成功后,我们就可以看到我们的网站了
更多AppVeyor的功能,等着各位朋友去探索!