Jenkins 1.500 で現在のバージョンの Git プラグイン (SCM プロバイダーとパブリッシャー) を使用しています。私のgit HTTP URLと「feature-*」の「構築するブランチ」設定を使用して、SCMポーリングは正常に機能します。これにより、「feature-1234」などの任意のブランチへの変更が検出され、ビルド/テスト/カバレッジ タスクが実行され、成功または失敗が報告されます。ビルドとコード レビューが成功した後にコードが終了する統合ブランチからのマージを含め、これはすべて正常に機能します。
問題は、同じ「feature-1234」ブランチで、完了したビルド ブランチを原点に戻そうとすることにあります。この場合のビルド変数 "GIT_BRANCH" には "origin/feature-1234" が含まれており、ビルドが成功した後、Git Publisher で次のエラーと失敗が発生します。
Pushing HEAD to branch origin/feature-1234 at repo origin
ERROR: Failed to push branch origin/feature-1234 to origin
hudson.plugins.git.GitException: Command "/usr/bin/git push https://jenkins:jenkinsPWD@myproject.com/git/project HEAD:origin/feature-1234" returned status code 1:
stdout:
stderr: error: unable to push to unqualified destination: origin/feature-1234
The destination refspec neither matches an existing ref on the remote nor
begins with refs/, and we are unable to guess a prefix based on the source ref.
error: failed to push some refs to 'https://jenkins:jenkinsPWD@myproject.com/git/project'
at hudson.plugins.git.GitAPI.launchCommandIn(GitAPI.java:897)
at hudson.plugins.git.GitAPI.launchCommand(GitAPI.java:858)
at hudson.plugins.git.GitAPI.push(GitAPI.java:915)
at hudson.plugins.git.GitPublisher$4.invoke(GitPublisher.java:351)
at hudson.plugins.git.GitPublisher$4.invoke(GitPublisher.java:333)
at hudson.FilePath.act(FilePath.java:865)
at hudson.FilePath.act(FilePath.java:838)
at hudson.plugins.git.GitPublisher.perform(GitPublisher.java:333)
at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:36)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:810)
at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:785)
at hudson.model.Build$BuildExecution.post2(Build.java:183)
at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:732)
at hudson.model.Run.execute(Run.java:1582)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:236)
Build step 'Git Publisher' changed build result to FAILURE
Build step 'Git Publisher' marked build as failure
そこに余分な「起源」が見えますか?origin/feature-1234 <== ${GIT_BRANCH} の現在の値です。これがリモート ブランチであることは理解していますが、従うべきプロセスの実行が妨げられています。
何か簡単なことを聞き逃したら、ぜひ聞いてみたいです。しかし、ビルドのさまざまな git 関連部分に対してさまざまな設定を試してみましたが、マージしてテストしたコードを作業ブランチにコミットすることはできません (簡単に実行できる統合ブランチとは対照的です。