我在Azure项目的ServiceDefinition文件中有这些行:
<Startup>
<Task commandLine="Tools\Reminder.cmd" executionContext="elevated" taskType="simple" />
</Startup>
但是对于测试服务器和生产服务器,它必须是不同的Reminder.cmd文件。 我该怎么做?我知道我们可以为ServiceConfiguration配置不同的配置,但无法弄清楚如何为ServiceDefinition文件设置不同的配置。
答案 0 :(得分:2)
遗憾的是,无法为部署环境中运行的启动任务配置ServiceDefinition文件。关于这一点的一般建议是将自定义代码/测试放在任务本身中,如果它没有在生产服务器中运行则退出。
但是,您可以将启动任务配置为不在ServiceDefinition中的本地开发计算机上运行。史蒂夫马克思有nice post如何做到这一点。
<Startup>
<Task executionContext="elevated" commandLine="startup\startup.cmd">
<Environment>
<Variable name="EMULATED">
<RoleInstanceValue xpath="/RoleEnvironment/Deployment/@emulated" />
</Variable>
</Environment>
</Task>
</Startup>
答案 1 :(得分:0)
我所知道的最简单的方法是为每个环境提供不同的CSDEF文件。 this question的答案将告诉您如何操作。
这个问题是关于改变VM大小,但它确实是同样的问题。在您的情况下,您只需更改每个环境的启动任务。