一款使用NET8.0开发的部署工具,把你的项目部署到Windows服务器或者Linux服务器上,支持一键部署,Nginx路由同步,多环境发布,账号多角色
社区开源版,如果你的服务器是小内存的,比如才2GB,那么这一款从开发角度触发的容器部署工具绝对适合你! 支持一键部署,Nginx路由同步,多环境发布,账号多角色
一款使用NET8.0开发的部署工具,把你的项目部署到Windows服务器或者Linux服务器上,支持一键部署,Nginx路 ...
部署工具,可以说非常多,比如最庞大的应该属于K8S了,还有另外一种的就是宝塔等,为啥还要介绍呢? 是一款使用NET8.0开发的部署工具,她可以把你的项目部署到Windows服务器或者Linux服务器上! 你的服务可以以容器(docker/podman),Systemd(linux服务),Service(windows服务),甚至是IIS(Windows)在服务器上运行! 而需要驾驭这个工具,你只要5分钟即可上手,你也不用担心相关知识没有地方找寻! - 我们提供了操作文档(最直观的操作文档,在表单中哪里不懂点哪里那种) 操作文档
- 提供了各种概念的专题介绍,可以了解一些规则和使用案例等 专题介绍
- 是一个开发者专属部署工具
- 5分钟即可上手,图形操作!
- 适用于任何语言,比如Net,Java,Php,Rust,Go,Vue等
- 旁载模式,你的服务运行否和停止没停止没有关系
部署案例说一堆不如拿一个实际案例来说明下,就以贴代码网站为例,我们都知道做开发的,特别是测试服,那升级频率,可以说是非常高的!那么有人说了,为啥不弄CI/CD,就是那种推送代码上去,自动部署的!也是支持CI/CD的,只是需要配置下,这里先不讨论这种情况! 拿贴代码网站的案例来说,我的开发习惯是在开发机子上修改代码,然后发布(本地文件夹),然后把发布文件夹的文件上传到服务器,然后运行(docker),之前的大致流程就是上传文件后,比如执行run.sh,其实这里是有很多问题的 - 可能由于新引入一个dll没有上载上去,也就是差量上传丢失文件
- 全量覆盖,一来消耗的网络和时间更多,二来可能覆盖你服务器上的配置文件
- 可能张冠李戴,项目A的上传覆盖到项目B的文件夹了
- 没法做版本回滚,或者说版本回滚很麻烦
- 没法做到平滑升级,就是当前服务会中断一会
一起来看看我用是如何发布的 一键发布当我们把需要修改的地方修改完成后,保存所有文件,然后按照下图
一款使用NET8.0开发的部署工具,把你的项目部署到Windows服务器或者Linux服务器上,支持一键部署,Nginx路 ...
也就是在本地执行发布(发布到文件夹),因为有经验说明,运行成功和发布成功是两码事,我采用的是发布模式! 等待开发机运行发布结果,成功后,你只要点击File的“一键发布” 然后就是等待发布的结果的通知了,比如我的WebHook
一款使用NET8.0开发的部署工具,把你的项目部署到Windows服务器或者Linux服务器上,支持一键部署,Nginx路 ...
这就发布成功了!!! 管理端发布如果是静态页面的,比如html的,或者是vue的发布文件的,其实对于服务器来说这些是静态文件,只要存放到服务器的某些目录,然后nginx配置过去即可访问,对于这样的,可能用发布不太贴切,我称为同步!
一款使用NET8.0开发的部署工具,把你的项目部署到Windows服务器或者Linux服务器上,支持一键部署,Nginx路 ...
其实这样的,也可以参考API的发布使用一键发布,只是后面创建任务的时候会被系统阻断而已,但是文件是已经同步到服务器了的! 你也可以点击“对比差异”,然后点击“同步”,这样也是把你开发机的文件同步到服务器上了! 是不是非常简单!!! 流程解析要说到流程,也就是如何运行的,有几个概念不得不先说明下,还是以贴代码官网为例! 贴代码官网这个我称为“项目”,关键点就是所有的服务都是通过一个域名来访问的! 项目的下一级就是服务,可以理解为,比如后端,管理端,用户端,也可以按照开发划分,独立开发的为服务! 上面的API的发布流程 - 1.对比文件,对比开发机发布文件夹的文件和服务器的文件对比,哪些需要上传到服务器,哪些忽略,哪些是必传的,上传到服务文件夹
- 2.基于这个服务对应的文件夹,构建镜像(docker build),这里需要计算出新的镜像版本,用于后续的版本回滚
- 3.按照需要,是否对当前运行的服务拆分多次,或者一次,停止服务,同时更新对应的nginx配置
- 4.拉取镜像,然后查看是否有配置key-value组合成启动运行命令(docker run),也会针对项目看看是否配置了项目网关,设定特定的IP或者端口监听等!
- 5.检查运行状态,更新nginx的配置,如果有多次分拆的,则进入下一个周期
- 6.完成整个流程,发送通知(webhook)报告升级结果!
上面是大概的流程,其实在整个流程中还有其他的考量,比如是否部署到多台服务器,比如当前服务器的内存是否富足,比如当前服务设定运行数量限定等! 功能介绍一起来看看都有哪些特点 旁载模式作为一个工具,我把这个拿到首要来说,是因为我的原则就是工具就是工具不能喧宾夺主了,旁载模式的意思是,在没有发布任务的时候,你把直接停止,你自己的服务不会受影响,能继续运行! 节省资源以我几台服务器的运行状态来看,运行后的内存占用大概在200MB左右!对于小内存的服务器来说,工具吃得多少意味着主服务是否能够自由的伸展! 操作简单3分钟上手,你不需要学习其他的语言,比如yaml等,PasteSpdier的操作都是通过表单,图形操作的,也就是点点点就行了,遇到不懂得,你只要点击表单或者表格中对应得点就行,会跳转到在线文档进行解说和案例说明等! 权限细化可以基于账号,为不同账号分配不同权限,比如张三只能发布哪个服务的,李四只能发布她负责的项目等,还可以基于环境划分! 多环境模式内置环境隔离,比如开发环境,生产环境,所有的操作几乎都是和环境相关的,比如当前升级,是升级到测试环境还是生成环境!再比如项目路由也是按照环境隔离的! 平滑升级内部采用nginx实现路由,也就是你的服务得使用nginx进行转发,可以实现升级得时候用户无感知,也就是他们说的平滑升级,或者是滚动式升级 CI/CD支持CI/CD,也就是从源码服务器拉取源码,然后在服务器上进行编译,然后发布升级,不过需要对应得配置,比如NET或者JAVA,这个时候服务器得配置是不一样得,主要在编译发布这个环节! key/val键值配置,或者说是配置模式,可以基于不同环境实现key-value模式,这样可以实现不同得启动参数等! 自动伸缩支持按照当前负载,是否自动扩容,我们都知道服务瓶颈有很多情况,有时候就是多启动一个容器就行了,比如经典得rabbit消费者,很多时候就是多开一个消费者就行了! 技术栈原生遇到问题不用慌,遇到问题找对应的知识即可,比如docker的问题,你就找docker的即可,如果是nginx的,你找nginx的信息即可,记住其实做的只是把命令程序化而已,没有引入新的概念啥的,所以遇到问题的时候,可以手动试试,看看是否能执行! 丰富支持从最初的只支持docker到后面的podman,iis,service,systemd等,可以说通过可以很好的把你的服务部署到服务器上! 配套丰富中主要有2个数据库,一个是系统的,另外一个就是日志,2个数据库你都可以自己配置使用哪些数据库,目前支持mysql,mariadb,postgresql,sqlite,sqlserver等 审计日志新版重写了审计日志,通过查询,你可以查询某一个字段的变更记录,比如张三的账号是否修改过密码,比如谁在今天某一点发布了哪个项目等! 运行状态可以说是数据报表,支持分钟,小时,天模式查看服务器和服务的运行状态,对于我来说主要的作用就是看看某一个项目是否有内存泄漏! 预警通知通过配置,可以第一时间发现问题,比如硬盘即将占满等,让很多潜在的问题灭杀在萌芽阶段! 分级开源个人免费使用,企业版采用买断机制,企业版可以获取最新专业版的源码,基础班的代码直接公开开源,所以也是一个开源项目!

链接: https://pan.baidu.com/s/15IM6YfbW4Rzvohq7EdoDHA
提取码下载:
|