东莞网站建设在哪里,贵州建设厅网站建筑企业公示栏,网站建设费用的账务处理,dede后台网站主页Visual Studio Team Service 经过了13年的版本演进和5年的在线运营#xff0c;现在已经是最成熟的商用DevOps工具链#xff0c;Marketplace作为VSTS为全球开发者提供各种类型的插件市场#xff0c;为Visual Studio, Visual Studio Code和Visual Studio Team Service本身提供… Visual Studio Team Service 经过了13年的版本演进和5年的在线运营现在已经是最成熟的商用DevOps工具链Marketplace作为VSTS为全球开发者提供各种类型的插件市场为Visual Studio, Visual Studio Code和Visual Studio Team Service本身提供了大量的插件帮助我们提高工作效率当前这里已经聚集了总数超过15000个各种类型的插件是开发人员最丰富的装备库。Pull Request Diff Copy 插件背景在之前的一篇文章《devops文档中心技术演进》中我提到了当前我们的文档中心https://docs.devopshub.cn已经积累2000多份文档和超过2G的数据量前段时间我们对这个站点进行了一次全量发布删除现有服务器从新部署整个部署过程用时1小时45分钟。这个时间非常夸张如果每次我们修改文档中心都要等待将近2个小时这是让人无法忍受的。因此我们团队的厉晓明同学开始研究如何能够实现增量发布也就产生了以下这个名为 Pull Request Diff Copy 的插件。插件地址https://marketplace.visualstudio.com/items?itemNamelean-soft.pull-request-diff-copyGitHub地址https://github.com/lean-soft/pull-request-diff-copy这个插件的工作机制很简单借助VSTS/TFS中的分支策略当开发人员创建了拉取请求(Pull Request)或者对已经存在的拉取请求进行更新的时候CI自动化构建会被触发在这个构建中这个插件会检测拉取请求中两条分支的(feature branch和master branch)的差异并将差异文件抽取出来形成增量文件包。如下图是在 devops文档中心 的CI中所配置的 Pull Request Diff Copy 插件你只需要配置目标文件夹通过PullRquest触发以后这个任务会被执行并抽取差异文件如下log输出最终形成和PullRequest一致的差异文件包供CD流水线中的后续任务使用利用这个插件我们把CI/CD整个流水线的执行时间降低到了1分钟之内开人员可以在更新了feature分支后几十秒内看到站点上的状态变化大大提高了效率。插件部署和发布流水线的实现为了能让这个插件本身的开发测试和发布到VSTS Marketplace的过程更加顺畅我们还为这个插件也搭建了CI/CD。因为这是一个build task extension所以测试它必须在一个已有的CI构建中进行同时由于这个插件必须有Pull Request的Context才能运行所以为了测试这个插件至少要有这几个步骤1) 修改代码2) 更新版本号不更新版本号是无法发布到市场的3) 使用tfx工具打包成vsix包4) 安装/更新vsix包到测试用的tfs/vsts服务器5) 触发构建查看日志如果测试失败以上过程还要重复在修复一个小问题的过程中修改代码可能只需要1分钟但是打包部署一次就要至少5分钟效率非常低。以下是我们搭建的自动化部署流水线第一个环境使用我们自己公司的tfs服务器作为这个插件的测试环境因为以上 devops 文档中心 的CI中使用了这个插件所以我们可以直接使用以上那个CI来测试这个插件这个测试通过后经过一个手动审核触发才会把测试好的版本发布到VSTS Marketplace同时也把代码同步到github完成整个发布流程。我们在流水线中还使用Build.BuildId来替换vsix的版本号这样开发人员就不必每次更新版本号只需要专注于编写逻辑代码剩下的事情都交给TFS来完成了。希望 Pull Request Diff Copy 这个插件可以帮到大家如果大家使用中遇到问题请随时通过 Github 给我们提交反馈谢谢。提交反馈地址https://github.com/lean-soft/pull-request-diff-copy/issues相关文章DevOps文档中心的技术实践演进微软研发云全家桶VSTS登陆中国Markdown/reST 文档DevOps流水线7 款好用的Git GUI客户端工具使用 SSH 连接 TFS/VSTS 的GIT仓库GitHub VSTS 开源代码双向同步.NET Core 从 Github到 Nuget 持续集成、部署原文地址 http://devopshub.cn/2018/04/07/tfs-cicd-for-vsts-extension/.NET社区新闻深度好文欢迎访问公众号文章汇总 http://www.csharpkit.com