.Net 项目 Jenkins 持续集成实践

作者/分享人:TL
HP -> HPE-> DXC tech leader

端到端的 .Net 项目持续集成实践案例。Pipeline 包含 GitHub/SVN 代码获取,MSBuild 代码编译,MSTest 单元测试和报表,email notification,打包和包管理,以及远程发布,包括脚本安装和回滚,自动化接收测试鉴定程序的稳定性,以及不稳定状态下的回滚。

使用到的工具有 Jenkins,Docker,Ansible。

已有75人预订
预订达标
文章出炉
交流日期
     
09月26日
10月07日
10月17日 20:30
查看文章评论/提问
曲平
老师,演示录像在哪里?我没有找到,我点击你文章中的演示录像链接,没有任何反应!
Jason葱葱
在使用name=dot-framework-msbuild作为msbuild的话,实际执行的命令是这样的: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe MyTest.sln 结果报这样的错: error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\WebApplications\Microsoft.WebApplication.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk. 可以看出在MyTest.sln中,这个import有问题,下面是这个文件的头几行如下(未作任何更改): <Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.5\build\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props" Condition="Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.5\build\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" /> <Import Project="..\packages\Microsoft.Net.Compilers.2.1.0\build\Microsoft.Net.Compilers.props" Condition="Exists('..\packages\Microsoft.Net.Compilers.2.1.0\build\Microsoft.Net.Compilers.props')" /> <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> 很显然,Microsoft.Net.Compilers.props是关键的target,而我用name=vs-msbuild作为msbuild的话,是可以正常执行成功的。我的问题是:如果使用name=dot-framework-msbuild作为msbuild,怎么修改sln让他成功编译呢?
铭熙: 用C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe编译
铭熙: 我是在我build的机器上装了vs 2017,然后我使用C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\MSBuild.exe做的构建,你可以试试。
你可能还喜欢
Service Mesh 在华为公有云的实践
田晓亮
利用 OpenCV 和 Caffe,根据大合影构造“平均脸”
李烨
从零开始,搭建 AI 音箱 Alexa 语音服务
Mike
Web 安全恩仇录:再谈逻辑漏洞
肖志华
TensorFlow 分布式原理与应用实践
刘光聪
编程和数学基础不佳如何入门人工智能?
赵宁|Neal
微信扫描登录