无法访问 Bamboo 构建计划中的环境变量

Unable to access environment variable in Bamboo Build Plan

我有一个 Bamboo 构建计划,包含以下一组任务。

  1. 源代码检出
  2. Artifactory Generic Resolve(从 Artifactory 获取 zip 文件)
  3. 脚本(提取 zip 文件的内容并设置为 CATALINA_HOME & PATH 环境变量)
  4. Ant(用于构建)

任务3中有以下内容:

APP_HOME=${bamboo.build.working.directory}
unzip $APP_HOME/tomcat/apache-tomcat-6.0.45-windows-x64.zip
export CATALINA_HOME=$APP_HOME/tomcat/apache-tomcat-6.0.45
export PATH="$PATH:$CATALINA_HOME/bin"

但是当我执行第 4 个任务 (Ant) 时,Build 没有考虑设置为任务 3 一部分的 CATALINA_HOME & PATH 变量。这里有什么问题?为什么我无法访问任务 3 中设置的环境变量?

每个脚本任务都在其自己的非交互式 shell 中运行,最终通过 ExternalProcessBuilder. Existing environment variables are made available to the process (i.e. shell), as well as the additional environment variables defined in the task itself as documented 调用。但是,新导出的变量不会转移到下一个任务,因为它是一个全新的、孤立的 shell.

您可以将导出语句转储到一个文件中,'source' 该文件会在下一个脚本任务开始时出现。