2017-10-15 163 views
0

我需要一种方法来将从Visual Studio中运行vsvarsall.bat批处理文件设置的所有环境变量传递到我的shell脚本中。我目前在Visual Studio Team Service中将它设置为两个不同的任务。所以我运行批处理文件并选中该框以保持对环境的更改,然后运行shell脚本。但它似乎并没有像echo $LIB一样不会返回任何结果。将从vsvarsall.bat中设置的变量传递给shell脚本?

+0

你的意思是你的shell脚本来运行vsvarsall.bat和vsvarsall.bat改变的变量?现在,shell脚本和vsvarsall.bat的内容是什么。而环境中的任务只能适用于当前环境而不适用于所有环境。如果您的构建代理安装在Windows操作系统上,也可以尝试使用PowerShell脚本。 –

回答

0

您必须致电VSTS Task Logging Command以在第一个任务中设置变量,以便更改的变量在第二个任务中可用。

##vso[task.setvariable]value 

设置在taskcontext的可变服务的变量。第一项任务 可以设置一个变量,以下任务可以使用该变量。 该变量作为环境 变量暴露于以下任务。当issecret设置为true时,变量的值将被保存为秘密并从日志中屏蔽掉。秘密变量不是 作为环境变量传递给任务,必须作为 输入传递。例子:

##vso[task.setvariable variable=testvar;]testvalue

##vso[task.setvariable variable=testvar;issecret=true;]testvalue

相关问题