0

在我的組織中,我們有200多個Microsoft桌面和Web應用程序。我試圖爲這些應用程序設置持續集成和持續部署(我已經爲Java應用程序做過)。我們已經在企業Github,Jenkins,Nexus,XL-Deploy和XL-Release上安裝了以下工具。我們還開發了一個由Jenkins調用的常規框架,並對Jenkins中的所有自動工作創建進行了調整,並將生成的工件推送到nexus中。爲Microsoft應用程序設置持續集成和持續部署

我想設置同類解決方案並且想要使用與Microsoft相同的工具集。

我通過Nexus文檔並沒有找到任何方法來存儲生成的工件(.exe或MSI)它只支持Nuget包,我不確定它們是什麼以及如何使用它們?

我能夠在Jenkins執行shell中使用msbuild.exe構建我的項目解決方案文件,並且能夠以.exe和MSI的形式生成工件。

現在我有幾個問題:

- 如何以及在哪裏我應該版本和存儲所產生的假象(.exe和MSI),我怎麼可以部署在目標主機上我的桌面應用程序(大家都知道我們需要雙擊.exe來安裝它)。

- 我應該如何處理web .net應用程序?

- 什麼是nuget軟件包,我可以將它們用於桌面應用程序部署而不是MSI嗎?我是否需要修改代碼中的任何內容來做到這一點?

PS:我知道TFS是解決方案,但由於成本限制,我們不能在組織中使用它。

+0

這個問題並不適用於StackOverflow。你應該問問別的地方。但是,我可以告訴你,nuget不適合將應用程序部署到桌面。這是爲開發人員部署二進制組件。 –

+0

謝謝@PalleDue,我嘗試閱讀幾個博客,但沒有找到任何解決方案,因此我已將其發佈到此處。 –

回答

1

要上傳非maven項目工件(如zip,msi等),您可以使用Nexus Artifact Uploader。爲了這個工作,它的任務是創建Maven類型的託管存儲庫,然後通過填充GAV參數將工件上傳到此,並且可以基於GAV參數檢索工件。

要將工件部署到測試環境,請使用WinRM Client Plugin來連接測試環境。

0

我找到這個解決方案:

什麼我做的是,我使用的MSBuild命令行編譯解決方案文件,這將生成.EXE文件給我。一旦生成了exe文件,我使用WIX實用程序將它們打包到MSI中。一旦MSI生成,我使用linux mv命令和for循環對它們進行版本控制,我使用maven命令將它們推送到Nexus repo中,傳遞GAV參數。