2016-11-25 197 views
0

我正在使用Jenkins管道來構建我的包並將它們交付給Artifactory。我試圖通過Gradle Release Plugin與Gradle一起使用它,但它有問題。Jenkins管道與Gradle發佈插件

我開始一個SSH代理,使搖籃具有推動Git倉庫的權限:

sshagent([git_credential]) { 
    sh "./gradlew clean release unSnapshotVersion -Prelease.useAutomaticVersion=true -Prelease.releaseVersion=${release_version} -Prelease.newVersion=${development_version}" 
} 

的問題是搖籃似乎異步運行,ssh的代理搖籃年底前停止執行。見上面的Jenkins日誌:

[Pipeline] sshagent 
[ssh-agent] Using credentials git 
[ssh-agent] Looking for ssh-agent implementation... 
[ssh-agent] Java/JNR ssh-agent 
[ssh-agent] Registered BouncyCastle on the remote agent 
[ssh-agent] Started. 
[Pipeline] { 
[Pipeline] sh 
[Release - MyModule] Running shell script 
+ ./gradlew clean release unSnapshotVersion -Prelease.useAutomaticVersion=true -Prelease.releaseVersion=1.1.0 -Prelease.newVersion=1.2.0-SNAPSHOT 
:clean 
:release 
:Release - MyModule:createScmAdapter 
:Release - MyModule:initScmAdapter 
:Release - MyModule:checkCommitNeeded 
[ssh-agent] Stopped. 
:Release - MyModule:checkUpdateNeeded 
Running [git, remote, update] produced an error: [fatal: could not read Username for 'https://bitbucket.org': No such device or address 
error: Impossible de récupérer origin] 
:Release - MyModule:checkUpdateNeeded FAILED 
:release FAILED 
Release process failed, reverting back any changes made by Release Plugin. 

是否有可能強制Gradle同步運行?

感謝

回答

0

日誌的誤導我,SSH-劑退出,因爲搖籃不得不Git倉庫的訪問權限。事實上,在使用https克隆一個Bitbucket repo時,需要用戶+密碼。 使用SSH克隆相同的repo時,ssh-agent提供證書,Gradle能夠與Bitbucket通信。