過程中不順心的事我已經在我的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"
}
我不能告訴你我試過找多少次一點技術訣竅。謝謝。 –