Jenkins 是一个开源的跨平台的 CI 工具, 它可以部署在 Windows,Linux 等平台上, 并且 Jenkins 提供了非常丰富的插件来帮助完成编译, 测试, 部署等工作.
本文将介绍在 Windows 平台上使用 Jenkins 完成. Net Core 应用的持续集成环境搭建, 其主要内容有:
Jenkins 下载与安装
创建一个. Net Core 编译任务
实现自动测试
实现自动部署
小结
Jenkins 下载与安装
本例使用 Jenkins2.136 版本进行演示, Jenkins 下载地址: https://jenkins.io/download/
1. 下载 Jenkins 的 Windows 安装器:
2. 通过安装向导完成 Jenkins 安装:
Jenkins 的默认端口是 8080, 当安装完成后可以通过该端口访问 Jenkins:
3. 根据 Jenkins 的配置向导完成相应配置, 并进入 Jenkins:
选择常用插件, 这些插件包含了 Git,SVN 等常用插件:
创建用户:
进入 Jenkins:
创建一个. Net Core 编译任务
1. 创建一个新任务:
填写任务名称选择自由风格项目:
2. 修改任务配置:
代码库:
3. 添加构建步骤, 此处执行 dotnet 的编译命令:
4. 执行任务, 结果输出如下:
实现自动测试
1. 添加测试运行步骤:
dotnet 测试命令参考:
运行结果:
2. 收集代码覆盖率:
之前介绍了使用 OpenCover 来分析. net core 的单元测试代码覆盖率, 然后再通过 ReportGenerator 来生成 html 格式的报告, 所以首先需要添加代码覆盖率分析以及报告生成的构建步骤:
- OpenCover.Console.exe -target:"dotnet.exe" -targetargs:"test XUnitTestProject/XUnitTestProject.csproj" -output:coverage.xml -filter:"+[*]* -[*Moq]* -[xunit*]*" -oldstyle
- ReportGenerator.exe "-reports:coverage.xml" "-targetdir:report"
注: 在持续集成工具中使用 OpenCover 可能会无法生成代码覆盖信息, 所以需要对 OpenCover.Profiler.dll 文件进行注册, 注册代码如下:
OpenCover.Profiler.dll 文件位于 OpenCover 的安装目录下, 更多详情查考 OpenCover 安装目录下的 Usage.rtf 文档.
如果要将生成的 HTML 在 Jenkins 上显示, 那么必须添加一个 HTML Publisher 的插件:
然后在构建后操作中添加 HTML 发布操作:
需要填写 HTML 的目录和报告起始页面.
完成后保存配置, 并执行构建:
然后在工程面板中即可查看代码覆盖报告:
报告:
实现自动部署
当完成编译工作后, 需要把编译的结果发布出来, 对于一个 Windows 的控制台应用程序来说, 实际上把编辑的执行程序以及相关程序集发布出来即可, 而这个程序文件实际上是在项目的 bin 目录下.
在 Jenkins 中可以通过 Artifact Deployer Plug-in 这个插件来完成文件发布功能:
插件安装完成后, 在项目的构建后操作中添加部署操作, 将生成的文件复制到 D:\test 目录下:
执行构建后将自动把构建结果发布至 D:\test 目录下.
小结
本文简单的介绍了如何使用 Jenkins 及相关插件完成. Net Core 程序的自动编译, 测试和发布功能. 无论是前面文章提到的使用各种托管工具还是自己搭建 Jenkins 其核心步骤都是通过相应工具以执行命令的方式完成的 (编译命令, 测试命令, 代码覆盖率命令, 报表生成命令等).
虽然都是通过相同的工具以及相同的命令, 但是不同的 CI 工具使用上还是存在一些区别, 并且还存在大量的手动配置, 有没有一种方法来简化并且重用 CI/CD 流程呢? 敬请期待后续内容 (*^_^*)
来源: https://www.cnblogs.com/selimsong/p/9763268.html