.net core 持续构建简易教程

简介: 环境需求:jenkins和.netcore由于jenkins在真机上的部署比较麻烦,所以在这里我使用基于jenkins的Docker,只要任何一台运行docker的环境都可以进行以下的操作。docker run --restart always --name jenkins -v $PWD...

 

环境需求:jenkins和.netcore

由于jenkins在真机上的部署比较麻烦,所以在这里我使用基于jenkins的Docker,只要任何一台运行docker的环境都可以进行以下的操作。

docker run --restart always --name jenkins -v $PWD/jenkins_home:/var/jenkins_home -d -p 8080:8080 -p 50000:50000 daocloud.io/koukouge/jenkins-dotnet:1.0

可以到对应的目录查看文件

在windows上请注意授予docker文件访问的权限,如

打开浏览器,访问jenkins服务器,等待jenkins启动,并进入安装的界面。

 

进入安装界面,要求输入安装密匙,输入如下命令。获取密匙:

docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword

紧接着是漫长的等待,如果安装页面出现错误,请重启服务,浏览器访问http://127.0.0.1:8080/restar

如下图,安装默认的的插件即可

部分插件会安装失败(很大部分原因是网络),后面进入到后台下载插件手动安装。

由于我实在是等不及,就直接刷新页面,直接进入注册账号密码,进入jenkins主界面。

由于默认安装的git就已经满足本次构建的需求,这里不介绍其他的插件使用,直接进入持续构建的主题。

首先是新建一个项目:

然后如下配置:

首先是源码可以从git,也可以从svn,甚至是文件夹,只需安装对应的插件即可。

这里需要说明的是,自动构建的规则依赖于具体的规则,在这里是只要matser分支有变化就会执行,又由于是部署在局域网内,无法使用Github的webhook,所以定义SCM每分钟去检查matser分支下是否有更新。

说回流程:

1.还原包(git restore)

2再生成对应的项目文件(cd /project;dotnet build)

3.执行对应项目的单元测试和集成测试(这一步非必要,属于持续测试的范围,测试失败会退出本次构建)

4.发布对应项目文件(dotnet publish)

如果仅仅持续构建是不够的,想要持续部署的话,需要自己进行客制化的操作。我个人的用法是使用Docker,借助像daoclou和阿里云等第三方服务,将生成的部署文件push到私有git上,第三方会帮你把容器构建和发布。

如下图:

 



本文采用 知识共享署名-非商业性使用-相同方式共享 3.0 中国大陆许可协议
转载请注明来源: 张蘅水
我在开发者头条中还会每日分享不错的技术文章,搜索 356194 即可查看
目录
相关文章
|
2月前
|
存储 Shell Linux
快速上手基于 BaGet 的脚本自动化构建 .net 应用打包
本文介绍了如何使用脚本自动化构建 `.net` 应用的 `nuget` 包并推送到指定服务仓库。首先概述了 `BaGet`——一个开源、轻量级且高性能的 `NuGet` 服务器,支持多种存储后端及配置选项。接着详细描述了 `BaGet` 的安装、配置及使用方法,并提供了 `PowerShell` 和 `Bash` 脚本实例,用于自动化推送 `.nupkg` 文件。最后总结了 `BaGet` 的优势及其在实际部署中的便捷性。
110 10
|
1月前
|
存储 开发框架 JSON
ASP.NET Core OData 9 正式发布
【10月更文挑战第8天】Microsoft 在 2024 年 8 月 30 日宣布推出 ASP.NET Core OData 9,此版本与 .NET 8 的 OData 库保持一致,改进了数据编码以符合 OData 规范,并放弃了对旧版 .NET Framework 的支持,仅支持 .NET 8 及更高版本。新版本引入了更快的 JSON 编写器 `System.Text.UTF8JsonWriter`,优化了内存使用和序列化速度。
|
25天前
|
开发框架 NoSQL MongoDB
C#/.NET/.NET Core开发实战教程集合
C#/.NET/.NET Core开发实战教程集合
|
2月前
|
开发框架 监控 前端开发
在 ASP.NET Core Web API 中使用操作筛选器统一处理通用操作
【9月更文挑战第27天】操作筛选器是ASP.NET Core MVC和Web API中的一种过滤器,可在操作方法执行前后运行代码,适用于日志记录、性能监控和验证等场景。通过实现`IActionFilter`接口的`OnActionExecuting`和`OnActionExecuted`方法,可以统一处理日志、验证及异常。创建并注册自定义筛选器类,能提升代码的可维护性和复用性。
|
2月前
|
开发框架 .NET 中间件
ASP.NET Core Web 开发浅谈
本文介绍ASP.NET Core,一个轻量级、开源的跨平台框架,专为构建高性能Web应用设计。通过简单步骤,你将学会创建首个Web应用。文章还深入探讨了路由配置、依赖注入及安全性配置等常见问题,并提供了实用示例代码以助于理解与避免错误,帮助开发者更好地掌握ASP.NET Core的核心概念。
87 3
|
25天前
|
开发框架 JavaScript 前端开发
一个适用于 ASP.NET Core 的轻量级插件框架
一个适用于 ASP.NET Core 的轻量级插件框架
|
25天前
|
存储 NoSQL API
.NET NoSQL 嵌入式数据库 LiteDB 使用教程
.NET NoSQL 嵌入式数据库 LiteDB 使用教程~
|
2月前
|
开发框架 前端开发 JavaScript
ASP.NET MVC 教程
ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架。
38 7
|
2月前
|
开发框架 NoSQL .NET
利用分布式锁在ASP.NET Core中实现防抖
【9月更文挑战第5天】在 ASP.NET Core 中,可通过分布式锁实现防抖功能,仅处理连续相同请求中的首个请求,其余请求返回 204 No Content,直至锁释放。具体步骤包括:安装分布式锁库如 `StackExchange.Redis`;创建分布式锁服务接口及其实现;构建防抖中间件;并在 `Startup.cs` 中注册相关服务和中间件。这一机制有效避免了短时间内重复操作的问题。
|
2月前
|
SQL 关系型数据库 数据库
七天.NET 8操作SQLite入门到实战详细教程(选型、开发、发布、部署)
七天.NET 8操作SQLite入门到实战详细教程(选型、开发、发布、部署)