1. 程式人生 > >Jenkins搭建windows service自動編譯釋出環境

Jenkins搭建windows service自動編譯釋出環境

類庫專案(Task)部署

  前面搭建了Web站點的環境,類庫專案釋出不同於站點專案,它只需要將MSBuild編譯出來的dll複製到目標伺服器上即可,而不需要通過Web Deploy,下面來說一下如何釋出類庫專案【下面以Windows Service專案為例】

編寫程式 上傳到github,然後配置jenkins

 

/t:Rebuild

/p:Configuration=Release;ExcludeGeneratedDebugSymbol=false;ExcludeXmlAssemblyFiles=false

 Windows批處理命令:

1、釋出到本地

  XCOPY "C:\Program Files (x86)\Jenkins\workspace\FirstWindowsService\WindowsServiceTest\bin\Release\*.*" "E:\IIS_Deploy\WindowsServices\First\WindowsServiceTest" /Y /S

MSBuild編譯出來的dll複製到本地伺服器上對應的目錄【需要提前建立好】。

Xcopy命令參考     /Y 就是直接覆蓋   /S 複製目錄和子目錄,除了空的。

2、釋出到遠端

  XCOPY "C:\Program Files (x86)\Jenkins\workspace\FirstWindowsService\WindowsServiceTest\bin\Release\*.*" "\\xyz8952\IIS_Deploy\WindowsServices\First\WindowsServiceTest" /Y /S  

【xyz8952是機器名】需要將目標目錄設定為共享,並可以設定能訪問的使用者,如下,”安全”選項卡中可以看到。

 

 windows service類庫釋出完之後的exe是不能直接執行的,需要

 

安裝服務:【引數不能是服務名稱,必須是.exe】

installutil E:\IIS_Deploy\WindowsServices\First\WindowsServiceTest\WindowsServiceTest.exe

即可以成功,在服務中啟動。

 若有相同的服務存在,為了測試 可以先將服務解除安裝掉: installutil /u yourproject.exe

 然後重新修改 服務名稱

 

重新構建,成功。再重新安裝服務,啟動服務,即可。

 注:構建之前 需要將服務停止掉(若服務是啟動狀態的話),構建成功後再手動將其啟動。

 

參考:利用Windows 計劃任務定時將本地檔案複製到共享資料夾