環境
ジェンキンス:2.5
オペレーティングシステム:Win7の
サーバー:centos6
ツール:CRT
需要
翌朝は、誰かが上のクリックしたとき、私はアップグレードに失敗したことに気づき、それについて考え、私はまだ構築設定で失敗するまで、一度自動アップグレード(SCM)のジェンキンス今月は、ちょうど午前19時、その後、失敗しましたメール通知バー!
プラグ
メール拡張プラグイン
(私は手動インストールに行き、その後、HPIダウンロードしたファイルを行くのが好き、プラグインをインストールします)
ジェンキンスデフォルトのメール通知は
、私は、デフォルトを説明しましょう。
ジェンキンスが、あまりにも単純なデフォルトの電子メール通知で、パーソナライズまたはカスタマイズすることができません。
システム管理者の電子メールアドレスを設定します
メール通知
①SMTPサーバー:あなたは、会社のメールを使用している場合は、ご自身の会社の運用・保守担当者にそれを聞いて、彼らは一般的に知っている、少なくとも私は会社の運転・保守担当者を求めていた、あなたはQQのメールボックスを使用する場合は、あなたがする必要があります設定、オンラインチュートリアルの下で、網易のメールボックスは、デフォルトで有効になって。
説明:SMTPプロトコルである
②ユーザーデフォルトのメールサフィックス:設定するには、自分の状況に応じて
、あまりにも独自の設定に従って、パスワード:使用するSMTP認証、ユーザー名を確認③。
④SMTPポート:デフォルトの25
後に設定され、あなたがテストを確認することができ、受信者は、テスト電子メールに電子メールを入力して、成功を見てください。
成功した後、我々は仕事で設定することができます。
構成された後、次のテストは、私が意図的にここで間違ったエコー、それは確認メールを構築するために失敗しています。
電子メールの結果を送信します。
プレーンテキストでメッセージの内容が、いなくても、ハイパーリンク、コンテンツが十分に豊富であることがわかります!
私たちは、電子メール通知の拡張バージョンを使用次に、
システム構成の
プラグインをインストールした後、お使いのシステムは、このような設定があるだろうに設定されています。
そして、上の写真:
上記の[詳細]ボタンをクリックしてください:
①SMTPサーバー:前と共感
ユーザーEメールサフィックス②Defaultは:自分の状況に応じて記入
彼らを埋めるために使用SMTP認証、ユーザー名とパスワードを確認してください③
④SMTPポート:デフォルトの25
⑤Defaultコンテンツタイプ:メール文書タイプ
⑥Default受信者:デフォルトの受信者のリストを、カンマを分割しています
他の私は、デフォルトを使用するか、記入しない、[保存]をクリックします。
注意:
上記の設定は、すべての名デフォルトで始まる、ジョブ設定の変数として使用することができます。たとえば:既定の受信者のアドレス:あなたは別のジョブでこの$ DEFAULT_RECIPIENTSを使用することができます。
個別に単一のジョブがされた設定
(赤で囲んだ部分を参照)強化メール通知を追加し、ビルド手順の後に増加しました。
あなたが取得した後:
:少し説明の下
①Disable拡張メール出版社:あなたが何かをデバッグしたい場合はチェックを入れると、メッセージが送信されない、自分の状況で自分自身を見て、あなたがこれをチェックアウトすることができます電子メールを送信する必要はありません。
②Project受信者リスト:受信者のアドレス、カンマで区切られた複数の受信者の電子メールアドレス、グローバルなデフォルト設定を使用するか、あなたは$ DEFAULT_RECIPIENTSを使用することができます。
返信するには③Project一覧表示:人物の返信アドレスを許可;あなたは$ DEFAULT_REPLYTOを使用することができ、デフォルトのシステム設定を使用するには、
④Contentタイプ:メール文書の種類は、HTMLや他のフォーマットを設定することができます。
⑤Default件名:デフォルトのテーマを、それはメッセージでありますタイトル;同様に、あなたがDEFAULT_SUBJECT $使用できる
⑥Defaultコンテンツを:デフォルトのメッセージ内容を、ここで重要であり、私がここで使用すると、テンプレートの$ {SCRIPT、テンプレート=「かっこいい -html.template」}; 後で話す;確かに、それから、テンプレートを使用したくありませんあなたは、その独自の定義を提供し、それ自体で変数ジェンキンスを使用することができます。
⑦Attachはログを作成します:送信されたログメッセージが含まれています。
次のようないくつかのデフォルト、重大な最後のトリガー;
最後の1が変化しないと仮定し、その後、メッセージを受信していませんこれは公式が去るピットで、自分自身の受信者リストを追加してください。
[保存]をクリックし、次の形式で、受信メールのビルド]をクリックします:
問題が発生した
問題を
受信者の送信、空のリストにEメールをしようと、無視されます。
1
、それのこの問題、私は、長い時間のために立ち往生してほぼ1日!メールを受信していない理由はまだ分かりません
:グーグルまでこの場所に
https://stackoverflow.com/a/37167955/6952713
https://issues.jenkins-ci.org/browse/JENKINS-34731?focusedCommentId=257221&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-257221
知って、公式にはピットを与えました。
質問2
テンプレートのレンダリング中に発生した例外:メソッドの無署名:hudson.model.FreeStyleBuild.getExactRuns()引数の型に適用可能である:()値:[]可能な解決策:ゲット・アクション()、ゲット・アクション(のjava.lang.Class)groovy.lang .MissingMethodException:メソッドの無署名:hudson.model.FreeStyleBuild.getExactRuns()は引数の型に適用可能である:()値:[]可能な解決策:org.codehaus.groovyでゲット・アクション()、ゲット・アクション(のjava.lang.Class) org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallでorg.codehaus.groovy.runtime.callsite.PojoMetaClassSite.call(PojoMetaClassSite.java:49)で.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:58)(CallSiteArray .java:48)org.codehaus.groovy.runtime.callsite.AbstractCallSiteでorg.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)で。groovy.text.SimpleTemplateEngine $ SimpleTemplate $ 1.toStringでgroovy.text.SimpleTemplateEngine $ SimpleTemplate $ 1.writeToで(SimpleTemplateEngine.java:168)(SimpleTemplateEngine:SimpleTemplateScript3.run(106 SimpleTemplateScript3.groovy)の呼び出し(AbstractCallSite.java:117) .java:180)hudson.plugins.emailext.plugins.content.ScriptContent.evaluateでhudson.plugins.emailext.plugins.content.ScriptContent.renderTemplate(ScriptContent.java:127)(ScriptContent.java:68)でハドソンで。 org.jenkinsci.plugins.tokenmacro.DataBoundTokenMacro.evaluateでplugins.emailext.plugins.content.AbstractEvalContent.evaluate(AbstractEvalContent.java:64)(DataBoundTokenMacro.java:199)でhudson.plugins.emailext.plugins.content.ScriptContent.evaluate(ScriptContentでhudson.plugins.emailext.plugins.content.ScriptContent.renderTemplate(ScriptContent.java:127)でSimpleTemplateEngine $ SimpleTemplate $ 1.toString(SimpleTemplateEngine.java:180) .java:68)でorg.jenkinsci.plugins.tokenmacro.DataBoundTokenMacro.evaluate(DataBoundTokenMacro.java:199でhudson.plugins.emailext.plugins.content.AbstractEvalContent.evaluate(AbstractEvalContent.java:64))でhudson.plugins.emailext.plugins.content.ScriptContent.evaluate(ScriptContentでhudson.plugins.emailext.plugins.content.ScriptContent.renderTemplate(ScriptContent.java:127)でSimpleTemplateEngine $ SimpleTemplate $ 1.toString(SimpleTemplateEngine.java:180) .java:68)でorg.jenkinsci.plugins.tokenmacro.DataBoundTokenMacro.evaluate(DataBoundTokenMacro.java:199でhudson.plugins.emailext.plugins.content.AbstractEvalContent.evaluate(AbstractEvalContent.java:64))でDataBoundTokenMacro.evaluate(DataBoundTokenMacro.java:199)でDataBoundTokenMacro.evaluate(DataBoundTokenMacro.java:199)で
1
このエラーは、私は、電子メールテンプレートを使用する場合、間違った報告です!
次のように私の手順は以下のとおりです。
私は公式を参照します。https://wiki.jenkins.io/display/JENKINS/Email-ext+plugin
この章のコンテンツのスクリプトの内容は、2つの例をダウンロードする際に、テンプレート
ジェンキンス、行列- html.templateインメール
ジェンキンス-ジェネリック・マトリックス内のメールをhtml.template
電子メールテンプレートフォルダのジェンキンスホーム(/ホーム/ジェンキンス/データ・スペース)ディレクトリを作成した公式のチュートリアルによると、ジョブ設定で既定のコンテンツが書き込まれた後、アップアップロードするには2つのテンプレートを置きます:
SCRIPT {$、テンプレート=「ジェンキンス・マトリックス内のメールをhtml.template」}
。1は、
その後構築は、それが与えられています!
また、私に長い時間が気になります!グーグルまで、このような経路(インターネット上で実際にはほとんど情報)へ。
http://jenkins-ci.361315.n4.nabble.com/Email-Template-Testing-Exception-td4807117.html
これは次のように読み取ります。
あなたは非行列ジョブの行列テンプレートをテストしようとしているように見えます。
これは、ことを意味します。
あなたがテストマトリックステンプレートに非マトリックスの仕事であるように見えます
その後、行列の仕事が何であるかを尋ねるために行ってきました。
それはの行列の公式チュートリアルで
行列プロジェクトのビルド
複数の構成のプロジェクトを構築することであるコンテンツを参照してください。その後、少し混乱!そして、このプラグインは、マトリックスのプロジェクトプラグインを参照してください。それは読み込み説明があります:
マルチ構成(マトリックス)プロジェクトの種類。
それはほぼ確実行列のジョブは、マルチコンフィギュレーション・プロジェクト(マルチコンフィギュレーションを構築するためのプロジェクト)です。言い換えれば、私はジェンキンスマトリクスメール-html.templateあなたが対応するジョブを作成する必要があり、このテンプレートを使用します。
テストの後、それは本当に、構成が類似していることができます。次のようにメッセージの結果は以下のとおりです。
そして、あなたよりもこのシーンに行列ジョブ?
これは公式には経験を与えています。
ビル行列プロジェクト - ハドソンの経験
それを説明するには:
たとえば、あなたが仕事のこのタイプを作成することができ、中に1.5,1.6、JDK 1.4でプロジェクトをテストしたいです。
カスタムテンプレートを使用して
上記に発生した問題で、我々は時々 、自分のテンプレートを定義したいです!
独自のテンプレートを使用するには、2つの方法があります。
この方法は、テンプレートを使用していません
:トークンによって自分自身を書くために、この列のデフォルトの内容で
(彼らはに翻訳さかわからないので、トークンに変換していない、トークンここでは、元のトークンを保持します)
<!DOCTYPE HTML>
<HTML>
<HEAD>
<メタ文字コード= "UTF-8">
<タイトル> $ {ENV、VAR = "JOB_NAME"} -第$ {BUILD_NUMBER}次构建日志</ TITLE>
</ヘッド>
<本体LEFTMARGIN = "8" MARGINWIDTH = "0" TOPMARGIN = "8" marginheightが= "4"
オフセット= "0">
<テーブル幅= "95%" CELLPADDING = "0" CELLSPACING = "0"
スタイル= "フォント-size:11pt;フォントファミリ:Tahomaの、ゴシック、ヘルベチカ、サンセリフ">
<TR>
<TD>
<H2>
<フォント>来自Mr.Jenkins的邮件通知</ FONT>
</ H2>
</ TD >
</ TR>
<TR>
<TD>
<br />
<B> <フォント色= "#0B610B">构建信息</ FONT> </ B>
<HRサイズ= "2"幅= "100%" ALIGN = "中心" />
</ TD>
</ TR>
<TR>
<TD>
<UL>
<LI>项目名称&NBSP;&NBSP; $ {PROJECT_NAME} </ LI>
<LI>触发原因&NBSP; $ {原因} </ LI>
<LI>构建日志&NBSP;&NBSP。 <a href="${BUILD_URL}console"> $ {BUILD_URL}コンソール</a>の</ LI>
<LI>单元测试报告&NBSP ;: <a href="${BUILD_URL}testReport/"> $ {BUILD_URL } testReport / </a>に</ LI>
<LI>工作目录&NBSP;&NBSP; <a href="${PROJECT_URL}ws"> $ {PROJECT_URL} WS </a>の</ LI>
</ UL>
</ TD>
</ TR>
<TR>
<TD> <B> <フォント色= "#0B610B">构建日志</ FONT> </ B>
<HRサイズ= "2"幅= "100%"整列= "中心" /> </ TD>
</ TR>
<TR>
<TD> <TEXTAREAのCOLS = "80"行= "30"読み取り専用= "読み取り専用"
スタイル= "フォントファミリー:クーリエ新しい"> $ {BUILD_LOG} </ TEXTAREA>
</ TD>
</ TR>
</ TABLE>
</ BODY>
</ HTML>
ます。https://my.oschina.net/u/4000302/blog/3053829で再現