2013-01-16 29 views
2

我在服務定義文件中的這些線路在Azure項目:如何建立不同的啓動任務Azure的不同配置(發佈,調試等)

<Startup> 
    <Task commandLine="Tools\Reminder.cmd" executionContext="elevated" taskType="simple" /> 
</Startup> 

但對於測試服務器和生產服務器它必須是不同的Reminder.cmd文件。 我該怎麼做?我知道我們可以爲ServiceConfiguration配置不同的配置,但無法弄清楚如何爲ServiceDefinition文件配置不同的配置。

回答

2

不幸的是,沒有辦法將ServiceDefinition文件配置爲在部署環境中運行的啓動任務執行此操作。有關這方面的一般建議是,如果自定義代碼/測試未在生產服務器上運行,則將自定義代碼/測試放入任務本身中以退出。

但是,您可以將啓動任務配置爲不在本地開發計算機上的ServiceDefinition中運行。關於如何做到這一點,Steve Marx有一個nice post

<Startup> 
    <Task executionContext="elevated" commandLine="startup\startup.cmd"> 
    <Environment> 
     <Variable name="EMULATED"> 
     <RoleInstanceValue xpath="/RoleEnvironment/Deployment/@emulated" /> 
     </Variable> 
    </Environment> 
    </Task> 
</Startup> 
+0

謝謝我已經有了你的想法,並創建預生成腳本來重新生成配置文件。 – Sergey

0

我知道的最簡單的方法是爲每個環境都有一個不同的CSDEF文件。 this question的答案會告訴你如何去做。

這個問題是關於改變虛擬機的大小,但它確實是一個問題。在你的情況下,你只需要改變每個環境的啓動任務。

相關問題