上一个文章中,我把相关概要设计给发出来了。很多朋友还是希望有实际的代码来直接用,我想着那就直接开源吧。
目前支持的服务已经从支持CS这种支持到了OSS这种来实现发布和同步。
CS这种架构是需要 服务端和客户端支持的,OSS这种,就需要客户端 < = > OSS服务 < = > OSS服务端 来实现。
代码也很简单,直接来个开原地址:
GitHub - kesshei/AutoPublishing: .Net 自动发布项目框架,目前BS方式和OSS方式,默认支持net5 git方式
gitee AutoPublishing: Net自动发布生成项目
以上两个地方的开源地址都有了。可以直接下载。
看完之后(主要讲代码框架以及核心逻辑),在看以下项目(主要讲框架本身)
项目结构大致如下
- 公共库
- 模型库
- 服务端逻辑部分
- 客户端
- oss服务端
- web服务端
客户端,主要做的事情:
1.修改 appsettings.json
如果有oss那就再配置其他oss的,默认配置是web的配置服务,端口为 7980
2.Config/ProjectTypeProcesss.json
这个算是预处理脚本配置,dotnet的脚本都按照以下进行配置,先git拉取代码(你自己本地要能执行命令,否则,就得自己调试命令)
3.Config/PreExecutions.json
预处理项目,给每个项目下个定义。
4: TaskInfo 里面有多个具体的任务
以下就是某个单任务,可以具体查看配置参考
NetType 就是 web通信和oss通信服务两种
Name,客户端通过name来进行任务匹配
CMDName,预处理命令,匹配之前的定义
LocalRootDir ServerRootDir 就是 需要互相替换的文件夹
ServerInfos ,就是服务端要进行关闭和启动的应用程序名称
NotIncluded ,就是不覆盖的文件名一般都是特定的配置信息
IsComplete就是是否完成任务
5.客户端如何执行
可以通过配置appsettings.json 里面的 "servers": [ "AllComputer" ] 为任务名
也可以直接 AutoPublishing.Client.exe AllComputer test2 等 命令传参方式传参来执行(我是定义了几个快捷方式,直接双击执行)
web服务端:
1.appsettings.json 主要修改一项
urls 为对象的对外服务地址即可,要与客户端保持一致
OSS 服务端:
1. appsettings.json
配置自己的阿里云oss 信息即可
至此,整个项目已经介绍完毕,记得star呦。
标签:C#,OSS,配置,json,jenkins,Net,oss,服务端,客户端 From: https://blog.51cto.com/kesshei/6287417