JenkinsプラグインのEmail-extでビルドログを電子メール通知に添付するにはどうすればいいですか?

Jenkinsプラグインのバージョン2.15 Email-extは、通知電子メールを作成するためのファイルの添付をサポートしました。通知メールを作成するためにビルドログを添付したいのですが、どうすればいいのか分かりません。

The build log appears to be stored on the Jenkins master node (in this case, Ubuntu Linux). For example, /var/lib/jenkins/jobs//builds//log. Naturally, the build log path changes with every build. The Email-ext file attachment feature defaults to using files from within the project workspace, which is on the Jenkins slave build machine (in this case, Mac OS X). For example, I configured my slave to use the folder /Users//Jenkins/build_agent/workspace//.

スレーブのビルドマシン上のワークスペースではなく、Email-extにマスターのファイルシステムからファイルを添付する方法はありますか?

助言を提供できる人には、事前に感謝します。 Email-ext wikiページには、現在の例は含まれていません添付ファイルの設定方法

10

5 答え

ビルドログを含めるには、電子メールの本文に$ {BUILD_LOG、maxLines、escapeHtml}トークンを使用するだけです。

email-extプラグインのドキュメントを引用する(利用可能なここ):

すべての利用可能な電子メールトークンのリストとその表示内容を表示するには、プロジェクト設定画面のemail-extセクションの最下部にある「Content Token Reference」に関連する「?」(疑問符)

13
追加された
Vladisldに感謝します。それは良い答えです。しかし、私はEmail-extコンテンツですでに $ {BUILD_LOG、maxLines = 9999、escapeHtml = false} を使用しています。私のログファイルは、長さがほぼ1000行あるので、メッセージ本文から取り出して、添付ファイルとして持っていきたいと思います。
追加された 著者 Steve HHH,

プラグインはビルドログの添付をサポートしていますが、プロジェクト設定のチェックボックスをオンにするだけです。

Project Configuration for email-ext

10
追加された
このボタンは、[保存/適用]をクリックすると、常に自動的に選択解除されます。あなたはこれに遭遇しましたか?ここをクリックしてください: 追加された 著者 DTI-Matt,

この問題を抱えてさらに研究を重ねた結果、Email-extはビルド通知メールへのビルドログの添付をサポートしていないという結論に達しました。

しかし、私はそのような機能が利用できるようになるまで使用するための卑劣な回避策を思い付くでした:私はジェンキンスを使用し、スレーブのビルドワークスペースにマスターサーバーからログファイルをコピーするために、適切なコマンドを生成するトークンを構築します(以下の注)。

このプロジェクトでは、メインのコンパイルステップの後に、適切な scp (セキュアコピー)コマンドを生成するための新しいシェルの実行ステップを追加しました。これはコマンドです(USERとHOSTNAMEを独自の値に置き換えてください。個々のサーバーに合わせてパスを調整する必要があります)。

scp [email protected]:/var/lib/jenkins/jobs/$JOB_NAME/builds/$BUILD_ID/log build.log

次に、Email-extプラグインのEmail-ext 添付ファイルフィールドに次のように入力しました:

build.log

ビルド・ログはマスターからスレーブのワークスペースにコピーされ、添付されて通知電子メール・メッセージが作成されます。メッセージ本文テンプレートから $ BUILD_LOG トークンを削除しました。

注意:この特定のテクニックを使用するには、おそらくOpenSSH鍵パスフレーズを使用して、スレーブとマスターの間にパスワードなしsshを設定する必要があります。ヘルプが必要な場合は、ウェブ上で ssh-keygen コマンドの情報を検索し、こちらをクリックします。 SSHのサポートが組み込まれていないプラットフォームでも同様のアプローチが有効です。 RoboCopyなどはWindowsシステムで動作するはずです。

EDIT: The Email-ext plug-in now has the ability to attach a build log to a notification message with a check-box on the job's configuration screen. See slide's answer for an example.

4
追加された

Firsl for allあなたはメールExtプラグインをインストールする必要があります。このステップ。

  • Now in to the 'Add post-build action’ select Editable Email Notification and in that section you have option Attach build Log.select option as below in picture.enter image description here

それが適用された後save.Nowあなたは間違いなく電子メール添付ファイルのビルドログを取得します。 ありがとうございました。

1
追加された

私はビルドログを添付するためのチェックボックスをチェックすると、保存後にチェックを外すことに気がつきましたが、メールが送信された後にメールに添付されています。

0
追加された