通过环境。 JENKINS 从上游到下游工作的变量
。将上游作业所需的变量写入属性(在我们的情况下
env.properties 文件)文件在下游作业的工作区中。
echo Var1=value>../Downstream_Job_Folder/downstream.properties
echo Var2=value>>../Downstream_Job_Folder/downstream.properties
---------- IN MY CASE -------------
$PSDefaultParameterValues['Out-File:Encoding'] = 'utf8'
$commit_id=$(git rev-parse --short HEAD)
$tag=$(git describe)
echo var1=$commit_id > "C:\Program Files
(x86)\Jenkins\workspace\powershell_2\env.properties"
echo var2=$tag >> "C:\Program Files
(x86)\Jenkins\workspace\powershell_2\env.properties"
echo $commit_id
echo $tag # TO CROSS-CHECK
。在下游作业中,使用 EnvInject 插件作为您的第一个构建步骤,并且
- give Properties File Path - env.properties
。然后选择第二个构建步骤为 windows powershell ,为 windows powershell 选择
读取 env.properties 文件,使用以下命令
- $AppProps = convertfrom-stringdata (get-content env.properties -raw)
$AppProps.'var1' # will print the var1 value
$AppProps.'var2' # will print the var2 value
$env:commit_id=$AppProps.'var1'
$env:tag=$AppProps.'var2'
echo git:$env:tag
echo git:$env:commit_id # this will print the desired output
---------在linux的情况下--------
。在上游工作
- echo "name=@@" > /home/jenkins/jenkins/workspace/sh_tst_2/env.properties
- echo "age=22" >> /home/jenkins/jenkins/workspace/sh_tst_2/env.properties
。在下游作业中,使用 EnvInject 插件作为您的第一个构建步骤,并且
- give Properties File Path - env.properties
。然后选择第二个构建步骤为LINUX SHELL
- 回声 $name
- echo $age # 将提供环境的输出。上游工作的 VAR