Antのように、CIツールの外部でなくても、ビルドごとにMavenで電子メール通知を送信する簡単な方法はありますか?Mavenビルドの電子メール通知の送信方法
答えて
CIは、私は単純なスクリプトラッパー使用するオプションはない場合:あなたはCIを使用することを決定しない場合
mvn install 2>&1 | tee build.log && cat build.log | mail -s 'Maven build output' [email protected] && rm -f build.log
は、ツール、私は強くハドソンをお勧めします。 installation pageには、実行が簡単に表示されます。 継続的インテグレーションサーバは華やかでエンターテイメント性に富んでいるが、ハドソンは死んでいる。
これを管理するにはCIツールを使用することを強くお勧めします。個人的には、スパムを避けるためにどのメールをビルドに送信するかを設定することをおすすめします。たとえば、ビルドに失敗したときだけ通知するか、失敗するたびに再起動するようにします。
これが正しいアプローチであることが確信できる場合は、maven-changes-pluginを使用して各ビルドでメールを送信できます。 customise the mail template with velocityとすることができ、目標の実行を適切なフェーズにバインドして、必要なときに送信します。
私はまた、プロファイルに設定を入れて、それが必要なとき(プロファイルがアクティブなとき)に送信します。
構成は次のようになります。
<profiles>
<profile>
<id>notify</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-changes-plugin</artifactId>
<executions>
<execution>
<!--send an email in the install phase,
could be changed depending on your needs-->
<phase>install</phase>
<goals>
<goal>announcement-mail</goal>
</goals>
</execution>
</executions>
<configuration>
<smtpHost>mail.yourhost.com</smtpHost>
<smtpPort implementation="java.lang.Integer">25</smtpPort>
<toAddresses>
<toAddress implementation="java.lang.String">
[email protected]</toAddress>
<toAddress implementation="java.lang.String">
[email protected]</toAddress>
</toAddresses>
<!--using a custom velocity template in
src/main/resources/mailTemplate/announcement.vm -->
<template>announcement.vm</template>
<templateDirectory>mailTemplate</templateDirectory>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
あなたの情報とお薦めいただきありがとうございます。 私の理解では、Maven Changes Pluginによって送信されるコンテンツは、テンプレートで定義されたものです。しかし、私が正確に望むのは、コンソールのmavenビルドによって出力されたものです。 私はMavenを初めて使い、Antビルドに関する以前の知識を持っていたので、私は数時間のGoogle検索でMavenでこれを達成する方法を見つけることができませんでした。たぶんこれはMavenが望んでいただけではありません。しかし、私はなぜMavenが電子メール通知を送信することでこれをやっていないのか不思議に思っています。 – moonese
私は後でCIツールを使用しようとしています。なぜなら、MavenがAntのように電子メール通知を送信しない理由を設計の考慮事項に知りたいからです。 – moonese
Mavenでやっている問題は、ビルドがまだ完了していないことです。 execプラグインを使用して実際のビルドをフォークし、出力をファイルにリダイレクトした後、そのファイルをメールすることができますが、外部のCIツールまたはスクリプトを使用してメールを処理するのが最適でしょう。 –
質問は少し古いですが、誰かがまだ別の解決策を必要としている可能性があります。その目的のためにプラグインを作成しました。 plugin's page at github.comをご覧ください。 Multipart-alternative MimeMessagesは実装されていません(その理由でFAQをご覧ください)。まともなテンプレートもありますが、添付ファイル付きのテキストメールを送信したいのであれば、そのトリックを行うべきです。
私はmojo.codehaus.orgにそれを提出する予定ですので、gId。現時点では、あなた自身でコンパイルする必要があります。ご迷惑をおかけして申し訳ありません。
非常にカスタマイズ可能なPostman mail pluginもあります。テスト結果を送信するオプション、またはソースファイルを指定する任意のHTMLを送信するオプションがあります。 Here'sどのように設定するべきかを説明する良いスレッドです。
- 1. 電子メール通知を送信する
- 2. 電子メール/ SMSの受信通知
- 3. Google電子メールへの電子メールの送信方法
- 4. 電子メールに電子メール通知スクリプト
- 5. 電子メール通知を送信するためのSQLジョブ
- 6. キュー内の通知は電子メールを送信しません
- 7. 電子メール通知
- 8. 電子メールの送信方法 - SAPUI5
- 9. 電子メールでの通知
- 10. 例外通知プラグインが電子メールを送信しない
- 11. 電子メール通知を送信するGoogleシート
- 12. TFS 2018電子メール通知が送信されない
- 13. bbpress通知電子メールで購読ユーザに送信しない
- 14. GRAPH API経由で電子メール通知を送信する
- 15. 電子メール通知送信されるためか
- 16. Jenkinsと電子メール通知を送信するには?
- 17. Djangoは電子メール通知を送信しません
- 18. Zend Gdataカレンダーイベントアップデートは電子メール通知を送信しません
- 19. Googleサイトから電子メール通知を送信
- 20. Windows 10で通知を送信する方法(電子のベストプラクティス)?
- 21. MailGun、通知 - Laravel 5.4を使用して電子メール通知を送信する
- 22. Woocommerce Checkoutで配送電子メールを追加して電子メール通知を送信
- 23. クライアントサイドスクリプト電子メール通知
- 24. Redmine電子メール通知
- 25. TFS電子メール通知
- 26. cruisecontrol電子メール通知
- 27. UWP電子メール通知
- 28. 現在、Django通知では、通知を送信するたびにプレーンテキストで電子メールを送信します
- 29. AHK:電子メールの送信
- 30. サブスクリプションサービス - 電子メールの送信
あなたのスクリプトと親切な言葉をありがとう。私は次にハドソンを試みます。 – moonese