我們正在將預定的Web作業部署到Azure。 Web作業是使用Visual Studio 2015開發的。「settings.job」文件包含計劃定義。但是,我們希望根據我們是部署到「開發」環境還是「分段/生產」環境來使用不同的計劃。什麼是完成這個最好的方法?如何在每個環境中使用不同的'settings.job'
回答
根據你的描述,我建議你可以使用MSbuild來達到你的要求。
我建議你首先使用publish as webjob標籤生成發佈文件,並在項目根路徑中添加一個空白settings.job文件。
結果如下圖所示:
然後,你可以定義一個文件夾來存儲不同settings.job文件。 注意:您需要將文件名稱更改爲與PublishProfiles的名稱相同。 象下面這樣:
AzureWebTest20170214103506發展 - 網絡Deploy.job
最後,你可以使用Xcopy將文件複製到項目路徑改變的csproj文件。
1.Unload項目
2.右鍵單擊該項目名稱--->編輯project.csproj
3.Change目標後如下:
<Target Name="AfterBuild">
<PropertyGroup>
<test>"$(ProjectDir)sec\$(_PublishProfileName).job"</test>
</PropertyGroup>
<Message Text="Test = $(_PublishProfileName)">
</Message>
<Exec Command="xcopy.exe $(test) $(ProjectDir)settings.job /Y" WorkingDirectory="C:\Windows\" />
</Target>
當您發佈webjob時,它將根據'PublishProfileName.job'內容複製正確的job.settings。
有沒有更新?如果你覺得我的回答很有用/有幫助。請將其標記爲答案,以便其他人可以從中受益。 –
你可以只是有多個JSON文件,如settings.debug,然後使用將使用$(ConfigurationName)宏複製並覆蓋settings.job
預生成事件可以在編輯的預生成事件項目設置。
我用這個方法。它效果很好。 – melvers
我會寫一個PowerShell腳本來實現這一點。 在構建定義中,創建一個變量來存儲settings.job文件位置和另一個變量以存儲計劃。然後使用VSTS中的PowerShell腳本實用程序,我將更新設置文件。
下面的代碼會更新文件。
param(
[Parameter(Mandatory=$true)][string]$configFile,
[Parameter(Mandatory=$true)][string]$schedule
)
$j = Get-Content $configFile -Raw | ConvertFrom-Json
$j.schedule = $schedule
$j | ConvertTo-Json | set-content $configFile
- 1. 如何使可用於每個環境
- 2. 每個環境下的不同翻譯
- 3. 使用不同的配置每個環境
- 4. 蟒蛇TOX:如何在環境中使用不同的Python envlist
- 5. Grails資源插件並在每個環境中使用不同的資源
- 6. 如何在每個Laravel環境中指定不同的js和css文件?
- 7. Django - 在不同的環境中使用不同的模型
- 8. 如何在.NET中爲不同的環境使用不同的.settings文件?
- 9. 如何對不同的環境不同的環境配置文件Spring MVC中
- 10. 如何配置WS02以在不同環境中使用不同的端點URI?
- 11. 如何強制spring爲每個用戶使用相同的i18n語言環境
- 12. 在LESS中的兩個非常不同的環境中使用相同的類?
- 13. 如何在Symfony的ProjectConfiguration.class.php中引用不同的環境
- 14. 如何在每個環境中禁用gorm.mapping id生成
- 15. 在不同的gcc環境
- 16. 在不同的環境
- 17. 不同環境
- 18. 不同的環境
- 19. 使用phing部署不同的環境
- 20. Codeigniter - 使用不同主機的環境
- 21. 使用不同環境的優缺點
- 22. 如何在開發環境和生產環境中定義不同的變量?
- 23. FLYWAY:如何爲不同環境維護不同環境的參考數據
- 24. 如何測試不同的環境?
- 25. 如何部署不同的環境時
- 26. 每個環境的Application.properties
- 27. 如何在Ruby環境中使用HTML環境中的嵌套上升循環?
- 28. 如何在每個組中循環使用不同內容的代碼組?
- 29. 如何使用不同的角度的環境變量
- 30. 如何在Windows環境中使用Mahout?
如何部署項目?使用vso,一個ci工具? – Thomas
你的意思是你想用不同的'settings.job'文件部署到不同的部署插槽(或不同的活動解決方案配置)嗎? –