是的你可以 !
您应该使用%SOME_ENVIRONMENT_VARIABLE%而不是 ${SOME_ENVIRONMENT_VARIABLE} (在Windows代理上)。
我猜你正在使用 Windows 代理。Thoughtworks 的文档以 Linux 为重点,这就是为什么他们的示例不适合您的原因。
您可以在任务中使用所有Go Standard 环境变量。
您可以在以下位置设置环境变量:
- 环境等级
- 管道级别(覆盖环境级别)
- 阶段级别(覆盖管道级别)
您可以在任务中使用所有这些环境变量:
<pipeline name="TestEcho">
<stage name="Echo">
<jobs>
<job name="Echo">
<tasks>
<exec command="echo %SOME_ENVIRONMENT_VARIABLE%">
</exec>
</tasks>
</job>
</jobs>
</stage>
</pipeline>
您可以在环境级别设置环境变量:
<environments>
<environment name="SomeEnvironment">
<environmentvariables>
<variable name="SomeVariable">
<value>SomeValue</value>
</variable>
</environmentvariables>
<pipelines>
<pipeline name="TestEcho" />
</pipelines>
</environment>
</environments>
您可以在管道级别设置环境变量:
<pipeline name="TestEcho">
<environmentvariables>
<variable name="SomeVariable">
<value>SomeValue</value>
</variable>
</environmentvariables>
<stage name="Echo">
<jobs>
<job name="Echo">
<tasks>
<exec command="echo %SomeVariable%">
</exec>
</tasks>
</job>
</jobs>
</stage>
</pipeline>
您可以在阶段级别设置环境变量:
<pipeline name="TestEcho">
<stage name="Echo">
<jobs>
<job name="Echo">
<environmentvariables>
<variable name="SomeVariable">
<value>SomeValue</value>
</variable>
</environmentvariables>
<tasks>
<exec command="echo %SomeVariable%">
</exec>
</tasks>
</job>
</jobs>
</stage>
</pipeline>
您可以覆盖环境变量:
<pipeline name="TestEcho">
<environmentvariables>
<variable name="SomeVariable">
<value>Value1</value>
</variable>
</environmentvariables>
<stage name="Echo">
<jobs>
<job name="Echo">
<environmentvariables>
<variable name="SomeVariable">
<value>Value2</value>
</variable>
</environmentvariables>
<tasks>
<exec command="echo %SomeVariable%"><!-- Write Value2 -->
</exec>
</tasks>
</job>
<job name="Echo2">
<tasks>
<exec command="echo %SomeVariable%"><!-- Write Value1 -->
</exec>
</tasks>
</job>
</jobs>
</stage>
</pipeline>
帮助我的来源