2

私は、Maven リポジトリへの公開が許可されている唯一の Jenkins と、バージョンにタグを付けて新しいスナップショット バージョンに移動する gradle-release プラグインを使用しています。新しいスナップショット バージョンがコミットされた後にプッシュが行われるため、タグ付きバージョンがビルドされていないことに気付きました。そのため、Jenkins は新しいスナップショット バージョンをビルドし、タグ付きバージョンをスキップします。タグ付けされたバージョンの後に最初にプッシュを行い、次に新しいスナップショット バージョンに対して別のプッシュを行うように gradle-release プラグインを構成する方法はありますか?

4

1 に答える 1

1

プラグインのソース コードを調べ、ローカルにインストールして動作を確認しました。createReleaseTagタスクとcommitNewVersionタスクは実際には別々のプッシュを実行することがわかります。また、コミットを確認したところ、タイムスタンプが異なることがわかりました。私たちの GitLab は Jenkins Webhook に対して 2 つの呼び出しを実行した可能性がありますが、2 つのコミットの間の短い時間は重要ではなく、Jenkins が によってトリガーされた変更の変更をプルするまでに、 によってcreateReleaseTag作成された新しいコミットcommitNewVersionはすでにプルされていると思います。平行。

私が今考えている解決策は、ブランチとタグ用に個別の Jenkins ジョブを作成するか、 と の間に時間遅延を導入することcreateReleaseTagですcommitNewVersion

2017 年 1 月 12 日更新

私はhttps://wiki.jenkins-ci.org/display/JENKINS/Release+Pluginを使用することに決めました。Jenkins のジョブはマスター ブランチと開発ブランチの両方からプルされました。Jenkins リリース プラグインは、リリース バージョンと次のスナップショット バージョンを入力して送信し、ff を実行できるリリース ページを追加しました。

  • マスターをチェックアウト
  • デフォルトのジョブを実行します (テストを実行する必要があります)
  • リリース タスクの実行
  • 新しいタグ付きバージョンをチェック
  • パブリッシュ タスクの実行
于 2017-01-09T05:24:09.283 に答える