2017-05-11 39 views
0

我在CI構建的容器中使用gradlew。將envs傳遞給gradle構建?

當我將它們添加到bash shell中時,ENV值無法識別。

有沒有辦法將envs傳遞到gradle構建參數中,或者上面的方法是否足夠?

回答

0

我不太確定這裏的問題,難道你不能讀取gradle裏面的變量嗎?

這個問題可能會有所幫助:In Gradle, is there a better way to get Environment Variables?

version = System.getenv("JENKINS_BUILD_NUMBER") ?: "0.1-SNAPSHOT"

在我build.gradle腳本工作的罰款。

這裏有一個例子:

好了,一定要很好地工作。

這是我的build.gradle

apply plugin: 'java' 
apply plugin: 'groovy' 

task('hello') { 
    println System.getenv("HI") 
} 

所以,如果我跑:

export HI="hello there"

gradle hello

我得到這個:

hello there 
:hello UP-TO-DATE 

BUILD SUCCESSFUL 

Total time: 0.869 secs 

This Works。只要確保ENV變量在您的CI conf中正確定義。

+0

基本上我試圖在一個容器內創建一個項目,並且該項目包含我在本地使用的envs。我使用gradle包裝來複制我的本地gradle環境,但無法複製容器內的envs - 例如,當我在容器中運行gradlew腳本時,無法識別ADMIN =密碼。 – ecl0