【问题标题】:Get environment variable from previous build从以前的构建中获取环境变量
【发布时间】:2016-07-17 16:10:56
【问题描述】:

我正在使用EnvInject Jenkins 插件在我们的部署管道的构建步骤中设置环境变量。下一个项目(根据顺序)是手动部署的步骤。我需要访问在构建步骤中设置的环境变量。

根据控制台输出,我做得很好:

[EnvInject] - Executing scripts and injecting environment variables after the SCM step.
[EnvInject] - Injecting as environment variables the properties content 
FOR=%%i IN ("%NewFile%") DO ( SET FileName=%%~ni )
FILE_NAME=%FileName%

[EnvInject] - Variables injected successfully.

但是,在我的下一步中,我需要访问 $FILE_NAME 变量以便为 scp 指定正确的文件夹,我得到以下输出:

[SCP] No file(s) found: releases\$FILE_NAME\*

我是否缺少某个设置,或者我是否尝试错误地访问该变量?

我在下面看到了这个选项——“注入环境变量”——但这与我之前用来创建 $FILE_NAME 变量的步骤相同。如果这是正确的步骤......我如何使用它来获取变量? :)

编辑

点击下面的选项...

...当项目构建时,我能够获得以下控制台输出。

 [EnvInject] - Loading node environment variables.
 [EnvInject] - Preparing an environment for the build.
 [EnvInject] - Keeping Jenkins system variables.
 [EnvInject] - Keeping Jenkins build variables.
 [EnvInject] - Injecting contributions.
 [EnvInject] - Unset unresolved 'USERNAME' variable.

但是我仍然无法访问$FILE_NAME。下面是我在上一个构建步骤中选择设置变量的选项。

这是“属性内容”中的脚本:

FOR /F "delims=|" %%I IN ('DIR "C:\Jenkins\workspace\Project\releases\*.nupkg" /B /O:D') DO SET NewFile=%%I
FOR %%i IN ("%NewFile%") DO ( SET FileName=%%~ni )
FILE_NAME = %FileName% 

【问题讨论】:

  • 错误消息表明它正在将您的文件名作为文件夹。您是否重新检查了配置以及字段的文档? (旁边的“?”)
  • 它应该用作文件夹名称(它在上一步中的其他地方用作文件名)。我会调查“?”文档。
  • 另外,如果我使用其他环境变量,控制台输出中会出现值。它似乎无法将$FILE_NAME 识别为环境变量。
  • 没错,好像是这样。但是,我们可以确定在批处理脚本中确实有一些东西放入 $FILE_NAME 吗?如果没有,您可能需要Setlocal EnableDelayedExpansion 并使用!Varname! 语法吗?只是对批量变量扩展问题的一些盲目猜测,今晚晚些时候我将尝试重建您的问题。
  • 等一下,你把批处理脚本放到属性字段了吗?我认为这行不通,因为它需要java properties file formatsyntax。也许在脚本内容部分它会起作用?

标签: batch-file jenkins build environment-variables


【解决方案1】:

在之前的构建步骤中,我查找最新的文件名。在该步骤中,我只需像这样输出我正在使用的文件的当前版本:

@echo FILE_NAME=%FileName%>CurrentVersion.txt

然后我添加一个“注入环境变量”构建步骤并指向输出文件。这就像我希望的那样添加了环境变量。

【讨论】:

    猜你喜欢
    • 2022-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-18
    • 2016-12-23
    • 1970-01-01
    • 2021-07-09
    • 1970-01-01
    相关资源
    最近更新 更多