3

リリースを行うと、リリース アーティファクトとタグの両方が期待どおりに作成されています。ただし、プロジェクトは次の (スナップショット) バージョンに正しく更新されません。

リリースの構成例:

ここに画像の説明を入力

コンソール ログの関連部分:

[RELEASE] Committing release version on branch 'master'
[RELEASE] Creating tag '1.3.14'
[RELEASE] Pushing branch 'master' to 'ssh://git@git.cloudbees.com/xxx/yyy.git'
[RELEASE] Pushing tag '1.3.14' to 'ssh://git@git.cloudbees.com/xxx/yyy.git'
[RELEASE] Changing POMs to next development version
[RELEASE] Committing next development version on branch 'master'
Finished: SUCCESS

予想どおり、Git でのプロジェクトのステータスは次のとおりです。

$ git pull origin master
From ssh://git.cloudbees.com/xxx/yyy
 * branch            master     -> FETCH_HEAD
Already up-to-date.
$ git show --summary
commit df10d905c24c1cbf8d0b6992ab366ac5dcba470b
Author: CloudBees DEV@Cloud <nobody@cloudbees.com>
Date:   Mon Jul 29 09:04:38 2013 +0000
$ git remote show origin
* remote origin
  Fetch URL: ssh://git@git.cloudbees.com/xxx/yyy.git
  Push  URL: ssh://git@git.cloudbees.com/xxx/yyy.git
  HEAD branch: master

    RELEASED 1.3.14

したがって、次のスナップショットへの更新はローカルでコミットされているようですが、プッシュされていません。これはバグですか (関連するチケットが見つかりませんでした)、それとも何か問題がありますか?

PS: この問題は Git でのみ発生します。Subversion は正常に動作しています。Artifactory プラグインのバージョンは 2.1.6 で、これが最新のはずです。

4

1 に答える 1

7

解決策: 「アーティファクトを Artifactory にデプロイする」ビルド後のアクションを選択します。これは、実際のアーティファクトのデプロイに加えて、プラグインが更新された POM の不足している最後の git プッシュを行う場所です。

回避策 (アーティファクトを Artifactory にデプロイしたくない場合): 「Git Publisher」のビルド後のアクションを追加します。「ビルドが成功した場合のみプッシュ」にチェックを入れました。次に、「ブランチの追加」をクリックし、ブランチに「マスター」を入れてプッシュします(プラグイン構成ページごとに、gitの「特定のローカルブランチへのチェックアウト」ボックスにマスターがあったため)、「ターゲットリモート」に「オリジン」名前」ブロック。これにより、ローカルでコミットされた更新された POM のプッシュが強制されました。

gradle の場合のように、「アーティファクトを Artifactory にデプロイする」ビルド後のアクションを選択する必要なく、プラグインが最終的な git push を行い、Maven の Artifactory に自動的に公開すると便利です。

于 2013-11-04T19:15:08.743 に答える