2016-11-25 14 views
0

Jenkins Pipelinesを使用してパッケージをビルドし、Artifactoryに配信しています。私はGradle Release Pluginを通してGradleと一緒に使ってみようとしていますが、何か問題があります。Gradleリリースプラグインを使用したJenkinsパイプライン

のGradleは、Gitのリポジトリにプッシュする権限を持っているように私はssh-agentの始めている:

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

問題はGradleのですが、非同期で実行するようで、ssh-agentのはのGradleの終了前に停止します実行。上記の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

はログには、私をmisleadedのGradleはGITリポジトリへのアクセスがなかったので、ssh-agentのが出ました。実際、httpsを使用したBitbucketリポジトリのクローニングは、user + pwdが必要です。 SSHを使用して同じリポジトリを複製する場合、ssh-agentは証明書を提供し、GradleはBitbucketと通信できます。

関連する問題