天天看點

一鍵釋出部署vs插件[AntDeploy]開源了

deploy to remote server by one button click

功能

  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. 本地浏覽器上輸入網址測試網址是否通了

在使用插件後 我隻需要點一個按鈕。。。

1.iis deploy support (support increment deploy and rollback) | iis一鍵釋出自動部署 支援增量和復原

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自動建立

2.docker deploy support(support rollback ) | docker一鍵釋出自動部署

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

3.window service delpoy support(support increment deploy and rollback) | windowsservice一鍵釋出自動部署

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.

支援netcore和netframework釋出

支援windowsservice自動建立

注意:windowsservice的話需要在windows伺服器上部署一個windows service服務。

windows server deploy need install agent | agent下載下傳位址和使用方法請參考:

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

installed antdeploy vs plugin success| 安裝成功後 如下:

IIS deploy page:

Docker deploy page:

WindowsService deploy page:

setting page:

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

how antdeploy agent work in windows server

how antdeploy work in linux server

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群 

Change LOG

3.2

  1. release build生成目錄按照環境分不同的檔案夾,解決增量釋出的時候同一個項目發不同的環境導緻擷取增量失敗的問題

3.1

  1. setting界面 排除改成跟着環境走 請用3.1版本的時候格外注意要重新配置下排除規則
  2. iis釋出增加可選功能:【點火】

3.0

  1. docker釋出支援配置volume參數(可以配多個)
  2. setting界面支援配置 windows伺服器釋出時備份檔案的排除規則
  3. 修複部分機器上日志出現中文亂碼問題

2.9

  1. docker釋出image和container時打上version tag 目的是docker查詢時一眼能看出來版本号
  2. docker 釋出增加删除釋出超過xx天的舊版本檔案功能,防止占用磁盤過大的問題
  3. rollback 日志優化

2.8

  1. 修複個别機器打包時候報System.IO.Compression.dll找不到的問題
  2. windows agent 增加定時清除釋出已超過>=10天的版本檔案目錄,防止占用磁盤過大的問題

2.7

  1. 增加復原功能(注意:windows伺服器必須得agent版本>=2.7)
  2. docker釋出zip打包改成tar打包,這樣一來linux伺服器就不需要裝unzip了

2.6

增量釋出bug修複

2.5

增量釋出功能:
  1. iis釋出界面新增是否打開增量釋出功能checkbox開關
  2. windows服務釋出界面新增是否打開增量釋出功能checkbox開關
注意:docker釋出不支援增量

2.4

窗體改成Showmodel模式 規避忘記關導緻程序占用操作vs會卡死的問題

2.3

  1. agent:釋出時增加日志記錄目前agent的版本号
  2. vs插件:在對windows伺服器進行ConnectTest的時候對Token進行urlEncode處理
  3. vs插件:在對publish目錄進行打包時候 ignoreList支援可以增加排除整個檔案夾

    例如在釋出netcore的項目到iis場景下,在非首次釋出的時候 publish目錄下的 runtimes其實可以不用覆寫,那麼就可以排除掉這個檔案夾 在IgnoreList裡面新增加一條

/{檔案夾名稱}?.+
例如 :   /runtimes?.+         就代表排除掉publish下的整個runtimes檔案夾
           

2.2

vs插件:緊急修複運作插件後,關閉vs出現關不掉的bug

2.1

  1. agent:iis 釋出 和 windows服務釋出的日志完善
  2. agent: 如果site已存在 或者 windows服務已存在 進行全量釋出時 已存在的檔案目錄不存在時自從建立目錄
  3. vs插件:優化界面

如果您覺得閱讀本文對您有幫助,請點一下“推薦”按鈕,您的“推薦”将是我最大的寫作動力!歡迎各位轉載,轉載文章之後須在文章頁面明顯位置給出作者和原文連接配接,謝謝。