一鍵部署VS插件:讓.NET開發(fā)者更幸福
轉(zhuǎn)自:魚東東
cnblogs.com/yudongdong/p/10385199.html
一鍵發(fā)布工具(ant deploy tool)
這是一個(gè)自動(dòng)化構(gòu)建和部署工具之一
下載地址:
marketplace.visualstudio.com/items?itemName=nainaigu.AntDeploy
1、IIS一鍵發(fā)布自動(dòng)部署 (IIS deploy support)
支持.NET Core和 .NET Framework發(fā)布 (支持MVC? WebAPI)
支持WebSite自動(dòng)創(chuàng)建
?ps:需要在windows 服務(wù)器上安裝一個(gè)agent 具體請看下面有說明
2、docker一鍵發(fā)布自動(dòng)部署 (docker deploy support)
不支持windows服務(wù)器
支持 centos7+ 和ubuntu 16.04 +
不需要在linux上安裝agent
3、WindowsService一鍵發(fā)布自動(dòng)部署 (Window Service delpoy support)
支持.NET Core和 .NET Framework發(fā)布
支持Windows Service自動(dòng)創(chuàng)建
注意: WindowsService的話需要在Windows服務(wù)器上部署一個(gè)Windows Service服務(wù)。
Windows服務(wù)器的agent下載地址和使用方法請參考:
https://github.com/yuzd/AntDeployAgent
安裝成功后 如下

IIS發(fā)布界面

DEMO演示
IIS一鍵發(fā)布MVC項(xiàng)目(.NET Framwork版本)
https://github.com/yuzd/AntDeployAgent/issues/2#
IIS一鍵發(fā)布MVC項(xiàng)目(.NET Core)
https://github.com/yuzd/AntDeployAgent/issues/3#
Docker發(fā)布界面

docker發(fā)布時(shí)需要注意 一定需要在服務(wù)器上安裝了docker才行。否則會失敗。
如果你的publish目錄有DockerFile的話會按照它去執(zhí)行。
如果沒有會采用默認(rèn)的DockerFile。
ps: 最好先pull 下對應(yīng)的 microsoft的runtime 基礎(chǔ)image。不然第一次發(fā)布的時(shí)候還得從origin pull 會非常非常慢。
一鍵發(fā)布.NET Core項(xiàng)目到Docker
https://github.com/yuzd/AntDeployAgent/issues/6#
WindowsService發(fā)布界面

一鍵發(fā)布WindowsService項(xiàng)目(.NET Core)
https://github.com/yuzd/AntDeployAgent/issues/5#
一鍵發(fā)布WindowsService項(xiàng)目(.NET Framwork版本)
https://github.com/yuzd/AntDeployAgent/issues/4#
配置界面

首先和大家說聲抱歉 這個(gè)插件是 winform做的 界面可能不是很好看。
快速上手
1、配置
進(jìn)入 Setting tab界面,
1.1 首先添加環(huán)境,比如測試環(huán)境 和 生產(chǎn)環(huán)境
1.2 然后分別給環(huán)境 添加對應(yīng)的 服務(wù)器(分 windows 服務(wù)器和 linux 服務(wù)器)
Windows服務(wù)器
-
是需要在服務(wù)器上安裝一個(gè)agent 具體參考上面的說明。
-
安裝agent成功后 在Host 里面輸入 ip地址和端口號 例如:192.168.0.100:5555
-
在Token 輸入你agent的配置Token值 即可。
Linux服務(wù)器
-
是不需要安裝agent的 直接填入 host 例如:192.168.0.1:22 ??如果你的ssh端口是默認(rèn)的 也可以不用輸入端口號 直接輸入IP也是沒問題的。
-
UserName 就是 linux的登錄賬號 需要有權(quán)限的 最好是root。
-
Pwd 是 對應(yīng)賬號的密碼 。
1.3 配置IgnoreList
比如你想發(fā)布到遠(yuǎn)程服務(wù)器的時(shí)候 希望將特定的文件給排除 就可以把文件名稱加進(jìn)去。支持正則
例如 你想把 .json文件都排除 那可以添加一個(gè) *.json?
以上配置完成后就可以一鍵部署了
該工具目的是提高net開發(fā)人員快速部署能力,拒絕重復(fù)性勞動(dòng)?
實(shí)現(xiàn)原理后面發(fā)文章補(bǔ)。
