問題タブ [promoted-builds]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1612 参照

jenkins - 昇格ビルド後の電子メールでの ${CHANGES_SINCE_LAST_SUCCESS} のサポート?

私は、promote-build (v2.19) および mail-ext (v2.38.2) プラグインで Jenkins (v1.578) を使用しています。

プロモーションが成功した後にアクションとして送信されるメールで ${CHANGES_SINCE_LAST_SUCCESS} を使用したいと考えています。

現時点では、${CHANGES_SINCE_LAST_SUCCESS} の値が空白になっています。これは、promote-build プラグインの動作に関連していると思われます (変更のないプロモーション用の新しいジョブを作成しているようです)。

特定のキーを使用したり、groovy テンプレートを使用して元のビルドからデータを取得したりすることはできますか?

編集:私の最終的な目標は、新しいリリースがステージング環境にデプロイされたことを一部の人々に通知することです。理想的には、電子メールには前回のデプロイ以降 (=最後の成功以降) のすべての変更が含まれている必要があります。

0 投票する
1 に答える
1194 参照

maven - プロモートされたビルド プラグインはアーティファクトをリポジトリにデプロイします

すべてのコミットでmavenパッケージを実行するWindowsスレーブで実行されているJenkins Mavenビルドがあります。昇格されたビルド プラグインを使用して、昇格されたビルドを nexus リリース リポジトリにデプロイしようとしています。

「次の場合にビルドを促進する」を手動承認に設定し、「アーティファクトを Maven リポジトリにデプロイする」アクションでリポジトリ URL を「http://example.com:8081/nexus/content/repositories/releasesに設定しました。 / " および "release" へのリポジトリ ID。ただし、承認がトリガーされると、次のスタック トレースが取得されます。

[INFO] http://example.com:8081/nexus/content/repositories/releases/ (id=release,uniqueVersion=true) でのデプロイ メイン アーティファクトのデプロイ アーティファクトid-1.0.2.pom アップロード: http://example .com:8081/nexus/content/repositories/releases/groupid/artifactid/1.0.2/artifactid-1.0.2.pom エラー: アーティファクトのデプロイに失敗しました: アーティファクト groupid:artifactid:pom:1.0.2 を / から転送できませんでした解放する ( http://example.com:8081/nexus/content/repositories/releases/ ): ファイルの転送に失敗しました: http://example.com:8081/nexus/content/repositories/releases/groupid/artifactid/ 1.0.2/artifactid-1.0.2.pom. リターン コード: 401、ReasonPhrase: Unauthorized。org.apache.maven.artifact.deployer.ArtifactDeploymentException: アーティファクトのデプロイに失敗しました: アーティファクト groupid:artifactid:pom:1.0.2 をリリースから/リリースに転送できませんでした ( http://example.com:8081/nexus/content/repositories /releases/ ): ファイルの転送に失敗しました: http://example.com:8081/nexus/content/repositories/releases/groupid/artifactid/1.0.2/artifactid-1.0.2.pom. リターン コード: 401、ReasonPhrase: Unauthorized。org.apache.maven.artifact.deployer.DefaultArtifactDeployer.deploy(DefaultArtifactDeployer.java:143) で hudson.maven.reporters.MavenArtifactRecord.deploy(MavenArtifactRecord.java:193) で hudson.maven.RedeployPublisher.perform(RedeployPublisher.java) で:176) hudson.plugins.promoted_builds.Promotion$RunnerImpl.build(Promotion.java:282) で hudson.plugins.promoted_builds.Promotion$RunnerImpl.doRun(Promotion.java:224) で hudson.model.AbstractBuild$AbstractBuildExecution. run(AbstractBuild.java:533) at hudson.model.Run.execute(Run.java:1740) at hudson.model.Run.run(Run.java:1678) at hudson.plugins.promoted_builds.Promotion.run(Promotion .java:174) hudson.model.ResourceController.execute(ResourceController.java:89) で hudson.model.

プロモーション アクションを変更して maven デプロイをトリガーすると、ビルドが再実行され、デプロイ ターゲットが期待どおりに機能します。git パブリッシャーを追加すると、これも認証に失敗します。Jenkins を実行しているユーザーがローカルで実行した場合、両方の操作が成功します。

昇格されたビルド プラグインは、デプロイの認証の詳細をどのように決定しますか?

0 投票する
1 に答える
73 参照

jenkins - ジェンキンス:仕事が終わる前に昇進する

昇格プロセス (Promoted builds plugin) が実行中に発生するように、jenkins でジョブを構成しようとしています。要点は、Javadocs、ソナー統合など、昇格プロセスの後でも実行できるいくつかの面倒なタスクがあることです。そのため、ビルドを作成し、必要なすべてのテストを実行して、ビルドを自動的に昇格させたいと考えています。他のタスクは、昇格プロセスの後に実行できます。

プロモーテッド ビルド プラグインを使用してこれを実装する方法を知っていますか?

助けてくれてありがとう。

0 投票する
1 に答える
120 参照

jenkins - Jenkins の毎日のダウンストリーム ジョブ

継続的インテグレーションの実装では、新しい WAR/Jar ファイルを数分ごとに構築し、これを最新鋭の候補として Nexus スナップショット リポジトリにデプロイします。これは満足のいく動作です。

また、ダウンストリーム ジョブとして多くの自動化された QA (findbugs、junit など) を実行します。これらのジョブは実行に時間がかかり、場合によってはリグレッションします。リグレッション/QA の失敗がない場合にのみ、アーティファクトをリリースと見なします。

ただし、元のビルド (スナップショットを作成し、アーティファクトをジェンキンにアーカイブしたもの) でダウンストリーム ジョブを使用すると、最終的に多くのリリースが行われます。

したがって、私たちが探しているのは、毎日のジョブを「アップストリーム」ジョブとして持つ方法です。これにより、promote-builds を使用して毎日リリースを行うことができます。

以下の図は、私たちがやろうとしていることの概要を示しています

0 投票する
0 に答える
73 参照

jenkins - Jenkins PromotedBuild と Artifactory

私は次のジェンキンワークフローを持っています:

Build Flow を使用して複数のジョブを調整しています。

(実際には、並列化を伴ういくつかのジョブがあります。そのため、ビルド フローが特に便利です)

ここで、ジョブ 3 は Job1Build1 および Job2Build2 からのアーティファクトを使用した可能性があります。

ジョブ 1 とジョブ 2 にプロモーションをインストールしたいです。

たとえば、Job3 が実行された後、J1B1 および J2B2 から Artifactory からアーティファクトを取得したことを検出し、これらのビルドにプロモーションを適用する必要があります。

Jenkins にフィンガープリントを明示的に記録せずにそのようなリンクを記録することはできますか (Artifactory に公開/取得されたアーティファクトのフィンガープリントのみに依存します)?

0 投票する
0 に答える
215 参照

jenkins - Jenkins CI - 対応するダウンストリーム ジョブの昇格

私は現在、Promoted Builds Plugin を使用してジョブを QA、テスト、プロダクションなどに昇格させています。このプラグインは、単一のジョブを昇格させるのに非常に優れています。ただし、親ジョブを昇格させ、そのジョブに対応するビルドで残りのダウンストリーム ジョブを昇格させる方法を探しています。

ここに例があります。アップストリーム ジョブからすべてトリガーされる 3 つのジョブがあるとします。

  • ジョブ 1 - ビルド 200 - ビルドが成功すると、親ジョブがジョブ 2 を開始します
  • ジョブ 2 - ビルド 400 - ビルドが成功すると、ジョブ 2 がジョブ 3 を開始します
  • ジョブ 3 - ビルド 300 - ジョブ 2 が成功した後にジョブ 3 がビルドされる

これが完了したら、ジョブ 1 ビルド 200 をプロモートし、そのジョブでジョブ 2 ビルド 400 とジョブ 3 ビルド 300 もプロモートできるようにしたいと考えています。これらは下流関係で一緒にビルドされた成果物だからです。

これは、実際にジョブをビルドして自動的にプロモートすることで簡単に実行できますが、成果物が既に作成されているため、ビルドしたくありません。

どんな助けでも大歓迎です!