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を同期して強制的に実行することはできますか?
おかげ