过程中不顺心的事我已经在我的version.properties
build.gradle
定义一个变量,并将其设置为默认值,如果定义
目录下面的代码是:
buildVersion=1.2.3
- 价值
$v
变量的过程中Gradle版本来了:1.2.3 - JENKINS构建中的变量
$artifactoryVersion
的值为:1.2.3。 ,1.2.3。 ,1.2.3。 x ...等等,Jenkins构建期间,第4位是詹金斯BUILD_NUMBER可用于gradle构建脚本。
但是,当我运行这个build.gradle
我的桌面,我没有BUILD_NUMBER变量用或者以我的环境变量设置,我得到一个错误说trim()
不能空工作。 (因为Desktop/local build没有BUILD_NUMBER
)。
我试图找到一种方法,即
我应该在我的脚本代码,这样,如果
BUILD_NUMBER
不可用,则不用的gradle这个构建过程中失败的一个错误,它会设置jenkinsBuild = "0"
(硬编码),否则,选择它在Jenkins构建过程中得到的结果。对于例如:在Bash中,我们设置一个变量
var1=${BUILD_NUMBER:-"0"}
将设置var1
为有效詹金斯版本号(如果可用),并设置一个值,否则如果是NULL,则var1 = "0"
。我不想让每个开发人员/用户在某个属性文件中设置此
BUILD_NUMBER
。我想要的是,如果这个变量不存在,那么代码应该把"0"
放在jenkinsBuilds变量中,并且在桌面构建期间不会出错。我知道在Jenkins构建期间,它工作正常。
// Build Script
def fname = new File('version.properties')
Properties props = new Properties()
props.load(new FileInputStream(fname))
def v = props.get('buildVersion')
def env = System.getenv()
def jenkinsBuild = env['BUILD_NUMBER'].trim()
if(jenkinsBuild.length() > 0) {
artifactoryVersion = "$v.$jenkinsBuild"
}
我不能告诉你我试过找多少次一点技术诀窍。谢谢。 –