Azure Devops 管道中的环境变量不正确
EnvironementVariable not correct in AzureDevops pipe-line
我的客户有一个本地 AzureDevops 设置。
我有一个专用的 windows 服务器用作构建服务器。代理作为用户 X 安装 运行s。
java 应用程序是使用第 3 方创建的自定义脚本构建的。在 YAML 中使用此脚本启动构建:
cmd /c ""C:\Program Files\Git\bin\bash.exe" --login -i --
./deployment/buildKit.sh -kn $(buildnumber) -ah /C/apache-ant-1.10.9""
一切正常,直到我们不得不更改 java 版本。当在构建服务器上以交互方式登录用户 X 时,我安装了新的 java 版本来使用,更改了 JAVA_HOMe,构建脚本 运行 使用新要求的没有错误java版本。
如果我 运行 作为用户 X 在计算机上设置,我得到:
JAVA_HOME=C:\Program Files\Java\jdk-11.0.6+10
我在 YAML 中添加了 SET 以查看使用了哪个 JAVA_HOME 并且在日志中我得到:
JAVA_HOME=C:\Program Files\AdoptOpenJDK\jdk-8.0.275.1-hotspot\
哪个是'old'版本。因此构建失败。
任何想法为什么 运行ning 管道与 interactif 相比有不同的 JAVA_HOME?以及如何解决?
构建代理仅在代理启动时读取环境变量。如果你 update/install 一个程序而代理 运行 代理将不知道环境变量已经更新并将旧值传递到构建过程。
在构建机器上更新或安装程序或 SDK 后,您应该重新启动构建代理,这样它会重新读取更新的环境变量。
我的客户有一个本地 AzureDevops 设置。 我有一个专用的 windows 服务器用作构建服务器。代理作为用户 X 安装 运行s。
java 应用程序是使用第 3 方创建的自定义脚本构建的。在 YAML 中使用此脚本启动构建:
cmd /c ""C:\Program Files\Git\bin\bash.exe" --login -i --
./deployment/buildKit.sh -kn $(buildnumber) -ah /C/apache-ant-1.10.9""
一切正常,直到我们不得不更改 java 版本。当在构建服务器上以交互方式登录用户 X 时,我安装了新的 java 版本来使用,更改了 JAVA_HOMe,构建脚本 运行 使用新要求的没有错误java版本。
如果我 运行 作为用户 X 在计算机上设置,我得到:
JAVA_HOME=C:\Program Files\Java\jdk-11.0.6+10
我在 YAML 中添加了 SET 以查看使用了哪个 JAVA_HOME 并且在日志中我得到:
JAVA_HOME=C:\Program Files\AdoptOpenJDK\jdk-8.0.275.1-hotspot\
哪个是'old'版本。因此构建失败。 任何想法为什么 运行ning 管道与 interactif 相比有不同的 JAVA_HOME?以及如何解决?
构建代理仅在代理启动时读取环境变量。如果你 update/install 一个程序而代理 运行 代理将不知道环境变量已经更新并将旧值传递到构建过程。
在构建机器上更新或安装程序或 SDK 后,您应该重新启动构建代理,这样它会重新读取更新的环境变量。