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 計劃任務定時將本地檔案複製到共享資料夾