我有3個階段(dev/staging/production)。我已經成功地爲每個設置了發佈,以便使用msbuild將代碼部署到正確的位置,使用正確的Web配置進行轉換 - 所有這些都在Jenkins中完成。使用Jenkins部署到生產服務器
我遇到的問題是,我不知道如何部署代碼,以便從構建在dev上的內容中進行分段(以及分段到生產)。我目前使用SVN作爲源代碼控制,所以我想我需要以某種方式保存開發者創建的最新修訂版本號,並以某種方式告訴Jenkins基於該編號構建/部署分段版本?
有沒有辦法做到這一點,或更好的選擇?
任何幫助,將不勝感激。
編輯:決定用保存版本號的方法,該方法解析包含版本號到下一個工作文件 - 要做到這一點,我也跟着這樣的回答:
How to promote a specific build number from another job in Jenkins?
它解釋如何使用促銷插件將工件從一個工作複製到另一個工作。對於工件本身,我添加了一個「執行Windows批處理命令」生成步驟主構建後:
回波DEV_ENVIRONMENT_CORE_REVISION:%SVN_REVISION%> env.properties
然後,在分段作業,使用上述導,複製該文件,然後使用插件EnvInject從該文件讀取並設置一個環境變量,然後將其用作SVN Repository URL的參數。
你有關於你的「一次和多次部署」過程的更詳細的博客文章?不確定: 1.打包和部署到不同的環境是否正確使用發佈文件? 2.包裝似乎只適用於項目級別,所以當我的解決方案需要發佈4個項目時,這變得非常痛苦。 –
您需要設置一個發佈協調工具來適當地應用這個軟件包。我們使用Thoughtworks GO!目前,VSTS還有一些非常不錯的功能。我們有50個管道在GO!每個都有多個可部署組件(ASP.NET站點,SQL Server數據庫,Window服務等),它的工作效果很好。以下文章是對我們如何創建部署包的高級概述。我的博客也有更多具體的例子。 - http://www.dotnetcatch.com/2015/04/22/extending-msdeploy-beyond-the-web/ – chief7