2017-05-15 2 views
0

Pour Azure Cloud Services, lorsque vous définissez des tâches de démarrage dans votre fichier ServiceDefinition.csdef, vous pouvez définir des variables d'environnement. Il ressemble à ceci:Comment faire pour que les variables d'environnement Azure Cloud Startup persistent

<Startup> 
    <Task commandLine="install.cmd" executionContext="elevated" taskType="simple"> 
    <Environment> 
     <Variable name="YourEnvironmentVariable" value="YourValue"/> 
    </Environment> 
    </Task> 
</Startup> 

Cette variable d'environnement ne semble persister pendant toute la durée de la tâche qu'il est défini dans (dans ce cas, en cours d'exécution install.cmd). Si vous utilisez RDP dans votre instance de cloud et que vous vérifiez les variables d'environnement, vous ne les verrez pas dans la liste. Existe-t-il un moyen d'obtenir cette variable d'environnement pour persister?

Répondre

0

Il ne semble pas que Azure Cloud Framework vous offre un moyen facile de le faire, mais c'est possible. J'ai persisté la variable d'environnement en faisant installer install.cmd manuellement. Dans mon cas, install.cmd appelé un script Powershell qui a fait ce qui suit:

# make the environment variables defined in ServiceDefinition.csdef persist 
[Environment]::SetEnvironmentVariable("YourEnvironmentVariable", "$Env:YourEnvironmentVariable", "Machine") 

Vous pouvez réaliser cela sans utiliser powershell. Cela ressemblerait à ceci:

setx YourEnvironmentVariable "%YourEnvironmentVariable%" /M