Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用python脚本设置Jenkins env变量_Python_Maven_Jenkins - Fatal编程技术网

如何使用python脚本设置Jenkins env变量

如何使用python脚本设置Jenkins env变量,python,maven,jenkins,Python,Maven,Jenkins,我有一个jenkins构建过程,我使用python脚本计算新版本: 然后我想跑 versions:set -DnewVersion=${NEW_POM_VERSION} -DgenerateBackupPoms=false 在另一个步骤上。但是${NEW\u POM\u VERSION}保持不变,不会转换为我设置的值 我是否试图以错误的方式调用变量。我还尝试使用了$NEW\u POM\u VERSION,但效果并不理想 那么,我应该如何将变量正确地导出到我的环境中呢 谢谢。詹金斯为每个构建步骤

我有一个jenkins构建过程,我使用python脚本计算新版本:

然后我想跑

versions:set -DnewVersion=${NEW_POM_VERSION} -DgenerateBackupPoms=false
在另一个步骤上。但是
${NEW\u POM\u VERSION}
保持不变,不会转换为我设置的值

我是否试图以错误的方式调用变量。我还尝试使用了
$NEW\u POM\u VERSION
,但效果并不理想

那么,我应该如何将变量正确地导出到我的环境中呢


谢谢。

詹金斯为每个构建步骤(和构建后步骤)生成一个新环境。在一个中设置一个值不会持久化到其余的

你需要

  • 在python脚本中,以
    param=value
    格式将最终值写入属性文件
  • 接下来,配置一个EnvInject构建步骤以从该属性文件加载变量
  • 此时,这些加载的属性将作为环境变量提供给此作业的所有其他生成步骤/生成后步骤

我知道这有点离题。但环境变量仅限于构建过程中,对吗?。我不可能更改一些重要的系统变量?是的,这就是为构建步骤生成一个单独环境的全部原因:这样您就不会弄乱系统(以及其他正在运行的Jenkins作业)。当然,如果您使用
setx
或类似的东西,您可以故意破坏它。
versions:set -DnewVersion=${NEW_POM_VERSION} -DgenerateBackupPoms=false