2015-11-15 59 views
2

我想運行使用Azure存儲模擬器而不是Visual Studio Online構建的實際存儲的單元/集成測試。VSO託管構建控制器 - 是否支持Azure存儲模擬器?

模擬器作爲Azure SDK的一部分(C:\ Program Files(x86)\ Microsoft SDKs \ Azure \ Storage Emulator \ AzureStorageEmulator.exe)安裝在Hosted Build Controller上。

但是,仿真器在構建控制器上處於未初始化狀態。當試圖在命令行中運行命令Init,我得到以下錯誤:

This operation requires an interactive window station 

是否有此計劃或一個已知的解決方法,以支持模擬器在VSO建立?

+0

請注意,除了下面的答案外,即使VSTS託管了構建代理程序支持的交互模式,由於權限不足,Azure存儲模擬器仍然無法工作。請參閱https://github.com/Microsoft/vso-agent/issues/72 – Livven

回答

1

似乎答案可能是從Visual Studio在線方面。如果任何人有類似的問題,有User Voice條目。

不太確定爲什麼模擬器沒有非交互模式,我個人並沒有在99%的時間內使用它。有一個通用的User Voice條目可以讓Azure存儲更易於單元測試。

1

不,託管構建控制器不能在交互模式下運行,因此模擬器將無法在該環境下工作。有關詳細信息,請參閱Hosted build controller for XAML builds中的Q & A.

Q: Do you need to run your build service in interactive mode?

A: No. Then you can use the hosted build controller.

我建議您設置本地構建控制器並以交互模式運行構建服務器。有關詳細信息,請參閱Setup Build ServerSetup Build Controller

1

如前所述,您無法運行Azure存儲模擬器。你可以運行的是Azurite的開源替代品。

請注意:石青可以模擬斑點,表格和隊列。不過,我只用這種方式使用blob存儲模擬。

在構建配置開始時,添加一個運行自定義nuget命令install Azurite -version 2.2.2的nuget步驟。然後添加一個運行start /b $(Build.SourcesDirectory)\Azurite.2.2.2\tools\blob.exe的命令行步驟。

它運行在與Azure存儲模擬器相同的端口上,因此您可以使用標準連接字符串。