先週発生した、事象について今日の対応を交えて、まとめておきたいと思います。
きっかけ
Eメール通知で、「失敗時」以外にもメールを飛ばしたくて、「Email-ext plugin」を入れていました。10月23日
急に「Email-ext plugin」でエラーが起きるので、昨日何かしました?と言われて調査しました。
該当のエラーがこちら
10 23, 2013 9:52:55 午前 hudson.model.AbstractBuild$AbstractBuildExecution performAllBuildSteps WARNING: Publisher hudson.plugins.emailext.ExtendedEmailPublisher aborted due to exception java.lang.NullPointerException at hudson.plugins.emailext.ExtendedEmailPublisher._perform(ExtendedEmailPublisher.java:243) at hudson.plugins.emailext.ExtendedEmailPublisher.perform(ExtendedEmailPublisher.java:232) at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:45) at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:781) at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:753) at hudson.model.Build$BuildExecution.cleanUp(Build.java:192) at hudson.model.Run.execute(Run.java:1710) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:230)
調査
暫定対応
最近、Jenkinsいろいろいじっていたし何かしたかなぁ~?と思っていたら・・・。
Oct 23 04:13:10 localhost yum[2408]: Updated: jenkins-1.536-1.1.noarch
んー!何かアップデートされてる~!!∑(゚ω゚ノ)ノ
じゃあ、一旦戻してみる。
# yum install jenkins-1.535-1.1.noarch
あ、出来ない・・・
# yum remove jenkins # yum install jenkins-1.535-1.1.noarch
出来た!
これでエラーが出ないとのこと。
詳細調査
それにしても何が起きたんだろうと調べてみると・・・githubから
[#JENKINS-20215] Send to requester is using "name" rather than "id" to generate an email address - Jenkins JIRA |
バグっていたみたいです。
前提条件
この現象が起きる環境が以下になります。プロダクト | バージョン |
---|---|
Jenkins | 1.536 |
Email-ext plugin | 2.35.1 |
Jenkinsが「1.535」以前であればこの現象は起きませんでした。
また、今は解消されました。(どちらかのアップデート対応で大丈夫です!)
プロダクト | バージョン | リリース日 |
---|---|---|
Jenkins | 1.537 | 10月28日 |
Email-ext plugin | 2.36 | 10月26日 |
私はJavaのソースを読むことが出来ませんが、状況から察するに
- Jenkinsの「1.536」の変更で何かtriggerに不具合があった
- Email-ext pluginは 「2.36」で対応した
- Jenkinsは「1.537」で対応した
ということで見つけた、Jenkins側の修正
[#JENKINS-20262] Fix for JENKINS-18629 caused a regression in several plugins - Jenkins JIRA |
まとめ
- yumの自動アップデートには気をつけよう!
- プラグインのgithubではすでに修正が上がっていたので、プラグインをビルドする力をつける!
- ちなみに「Email-ext plugin 2.36」で「Always(いかなる状態でも通知する)」という強力なTriggersが追加されていました!
参考サイト
[#JENKINS-20215] Send to requester is using "name" rather than "id" to generate an email address - Jenkins JIRA |
Email-ext plugin - Jenkins - Jenkins Wiki |
[#JENKINS-20262] Fix for JENKINS-18629 caused a regression in several plugins - Jenkins JIRA |
Changelog | Jenkins CI |
Plugin tutorial - Jenkins - Jenkins Wiki |