有没有办法在构建完成后自动更改Jenkins中的项目变量值? 在我的情况下,我有一个变量VERSION,默认值是1.我需要在每次构建完成时增加此默认值。假设在这种情况下由cron构建星星。任何插件都可以帮到我吗?
现在我有这样的事情:My build steps。 在我找到的groovy脚本中获取项目变量是一种单一的工作方式。现在我如何为变量设置新值? 我在SO上读了一些类似的问题,但是没有找到适合我的方法。
P.S。我无法使用$ BUILD_NUMBER var,因为我需要在开始构建时手动设置VERSION。
答案 0 :(得分:0)
首先,安装插件Global Variable String Parameter Plugin和Groovy Postbuild Plugin。在Manage Jenkins -> Configure System
下,您现在应该有一个名为Global Properties
的部分。在那里你添加一个新变量。在我的测试中,我称之为SOME_VER
。
在您的工作中,您现在添加一个Groovy postbuild部件,并将此代码调整为您的变量:
import jenkins.*;
import jenkins.model.*;
import hudson.*;
import hudson.model.*;
import java.lang.*;
instance = Jenkins.getInstance();
globalNodeProperties = instance.getGlobalNodeProperties();
envVarsNodePropertyList = globalNodeProperties.getAll(hudson.slaves.EnvironmentVariablesNodeProperty.class);
envVars = null
if (envVarsNodePropertyList != null && envVarsNodePropertyList.size() > 0)
{
envVars = envVarsNodePropertyList.get(0).getEnvVars()
String value = envVars.get("SOME_VER", "0")
int NEW_VER = Integer.parseInt(value)
NEW_VER = NEW_VER + 1
envVars.override("SOME_VER", NEW_VER.toString());
}
instance.save()
此代码的部分内容取自here。此代码除了检索全局变量的值,更改它并保存变量的新值之外别无其他。