LoginSignup
0
1

JenkinsからSlackへ通知する挙動がおかしい

Last updated at Posted at 2023-01-01

JenkinsでCI/CDからSlack通知への挙動不具合

あくまでメモです。(誰かのご参考になれば)
JenkinsのSlack用プラグインを使いなさい。というご意見はごもっともですが、
諸事情から、shellから叩く方向で実施しています。

jenkinsの使い方

CI/CDツールにてバージョンが古いJenkinsを利用しておりました。
※ビルド・デプロイを実施
Jenkinのパイプライン処理(shell)の内部で、成功・失敗をSlackにSlack-API postMessageを利用し通知しています。

挙動不具合とは

実行されていない過去のビルド履歴がSlackに通知される。

調査

Jenkinsサーバーについては以下を調査しました。

ログ:不具合の挙動はログに記録されておらず。
プラグイン:既にインストールされているプラグインのアップデートは必要であったが、相関関係は認められず。
ジョブ履歴:ジョブ履歴のログローテートが未設定。肥大化していた。

対応

各ジョブの履歴にローテーション設定。
ログの肥大化を防いだところ、挙動不具合(Slackの過去分送信)は発生しなくなりました。

考察

ジョブの履歴のログローテーションを設定していないと、ビルド番号が大きくなるにつれ、
不具合などが発生する可能性が高い。
(=ジョブ履歴のログローテーションをしていないと、不具合の原因になる。)

対応

素直に、Jenkinsのバージョンアップを推奨します。
経緯としては、取消し線部分を対応しましたが、しばらくすると同じ事象が再発。
またJenkinsのJIRAチケットを見てみると、
・ログローテーションのバグ
・スケジュール設定時のバグ
など複数のチケットが報告されていることが確認できました。

結論

可能であれば、素直にJenkinsのバージョンを最新版にする。
がベストな選択なだと思います。

ここは推測ですが、Jenkins自体の不具合とプラグインの不具合が、本事象の原因かと考えれます。
ただし一つ一つ調べていくことは、非常に複雑で、時間がかかることから私は諦めました。笑
もしこのあたり同じ症状があった方いらっしゃいましたら、コメントなどで教えて頂けると助かります。

→ちなみに最新版にしたところ、特にトラブルは発生しておらず
エラーログも格段に減らすことができました。(半年ほど経っても特に問題 は発生していません。)

参考ページ

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1