一键发布部署 vs 插件[AntDeploy]开源了

来自:nainaigu

  1. 支持docker一键部署(支持netcore)

  2. 支持iis一键部署(支持netcore和framework)(支持增量发布)(支持一键回滚)(支持点火)

  3. 支持windows服务一键部署(支持netcore和framework)(支持增量发布)(支持一键回滚)

 

使用插件前

我要发布一个netcore的项目到阿里云的windows服务器的话我一般需要如下的步骤:

1. vs中发布网站到c:/temp/website 目录下

2. 远程桌面连接上远程服务器WIN2012或者以上版本
3. 在远程服务器上打开iis
4. IIS里点应用程序池,停掉对应网站的程序池
5. IIS里点网站,再停掉对应网站
6. 服务器上打开网站目录,把本地c:/temp/website中的除appsetting.json外的所有文件都上传到服务器上覆盖
7. IIS上再启动网站和对应的应用程序池
8. 本地浏览器上输入网址测试网址是否通了

在使用插件后 我只需要点一个按钮。。。

support deploy netcore project and netframework project to the remote server iis by one click.

if remote server not exist the website in iis.will automatically create.

require to install deploy agent in the remote windows server.

支持一键部署 netcore 和 netframework发布到远程机器的iis (支持mvc webapi)

支持website自动创建

support deploy netcore project to the remote linux server as a docker container by one click.

test success in centos7+ and ubuntu 16.04 +

no need deploy agent installed in the linux server.

支持 一键部署netcore项目发布到linux服务器的docker容器

在 centos7+ 和ubuntu 16.04 + 测试成功

不需要在linux上安装agent

support deploy netcore project and netframework project to the remote server windows services by one click.

if service not exist on remote server will automatically create.

require to install deploy agent in the remote windows server.

支持netcore和netframework发布

支持windowsservice自动创建

windows server deploy need install agent | agent下载地址和使用方法请参考:

how to install agent: https://github.com/yuzd/AntDeployAgent

installed antdeploy vs plugin success| 安装成功后 如下:

image__8.png

IIS deploy page:

image__23.png

Docker deploy page:

image__20.png

WindowsService deploy page:

image__16.png

setting page:

image__22.png

how to set https://github.com/yuzd/AntDeployAgent/issues/8

Quick Start

  1. install antdeploy plugin in the visual stutio.

  2. create a netcore project then right click on the project file in vs solution.

  3. click antdeploy to open deploy window

  4. first you should type env name to add a env in setting tab page.

  5. add server under the env. you should connect test after add server.

  6. enjoy deploy by one button click

how antdeploy work

image__21.png

how antdeploy agent work in windows server

image__24.png

how antdeploy work in linux server

image__25.png

Source Code

https://github.com/yuzd/AntDeployAgent

https://github.com/yuzd/AntDeploy

QA & DEMO

【demo】deploy netcore project to Docker : https://github.com/yuzd/AntDeployAgent/issues/6

【demo】deploy netframework mvc project to remote iis :https://github.com/yuzd/AntDeployAgent/issues/2

【demo】deploy netcore mvc project to remote iis : https://github.com/yuzd/AntDeployAgent/issues/3

【demo】deploy netframework windows service project to remote server :https://github.com/yuzd/AntDeployAgent/issues/4

【demo】deploy netcore windows service project to remote server : https://github.com/yuzd/AntDeployAgent/issues/5

【how to install agent in windows server】https://github.com/yuzd/AntDeployAgent/issues/1

【why need to install agent in windows server】https://github.com/yuzd/AntDeployAgent/issues/7

一键发布工具(ant deploy tool)

AntDeploy交流反馈QQ群 

image__15.png

Change LOG

  1. release build生成目录按照环境分不同的文件夹,解决增量发布的时候同一个项目发不同的环境导致获取增量失败的问题

  1. setting界面 排除改成跟着环境走 请用3.1版本的时候格外注意要重新配置下排除规则

  2. iis发布增加可选功能:【点火】

  1. docker发布支持配置volume参数(可以配多个)

  2. setting界面支持配置 windows服务器发布时备份文件的排除规则

  3. 修复部分机器上日志出现中文乱码问题

  1. docker发布image和container时打上version tag 目的是docker查询时一眼能看出来版本号

  2. docker 发布增加删除发布超过xx天的旧版本文件功能,防止占用磁盘过大的问题

  3. rollback 日志优化

  1. 修复个别机器打包时候报System.IO.Compression.dll找不到的问题

  2. windows agent 增加定时清除发布已超过>=10天的版本文件目录,防止占用磁盘过大的问题

  1. 增加回滚功能(注意:windows服务器必须得agent版本>=2.7)

  2. docker发布zip打包改成tar打包,这样一来linux服务器就不需要装unzip了

增量发布bug修复

增量发布功能:

  1. iis发布界面新增是否打开增量发布功能checkbox开关

  2. windows服务发布界面新增是否打开增量发布功能checkbox开关

注意:docker发布不支持增量

窗体改成Showmodel模式 规避忘记关导致进程占用操作vs会卡死的问题

  1. agent:发布时增加日志记录当前agent的版本号

  2. vs插件:在对windows服务器进行ConnectTest的时候对Token进行urlEncode处理

  3. vs插件:在对publish目录进行打包时候 ignoreList支持可以增加排除整个文件夹

    例如在发布netcore的项目到iis场景下,在非首次发布的时候 publish目录下的 runtimes其实可以不用覆盖,那么就可以排除掉这个文件夹 在IgnoreList里面新增加一条

/{文件夹名称}?.+

例如 :   /runtimes?.+         就代表排除掉publish下的整个runtimes文件夹

vs插件:紧急修复运行插件后,关闭vs出现关不掉的bug

  1. agent:iis 发布 和 windows服务发布的日志完善

  2. agent: 如果site已存在 或者 windows服务已存在 进行全量发布时 已存在的文件目录不存在时自从创建目录

  3. vs插件:优化界面

推荐↓↓↓
DotNet程序员
上一篇:.NET Core 微服务架构-Docker部署 下一篇:使用 C# 和 Blazor 进行全栈开发