4

Ant のように、外部の CI ツールを使用せずにビルドごとに Maven で電子メール通知を送信する簡単な方法はありますか?

4

5 に答える 5

4

CI がオプションでない場合は、単純なスクリプト ラッパーを使用します。

mvn install 2>&1 | tee build.log && cat build.log | mail -s 'Maven build output' user@example.com && rm -f build.log

CI ツールを使用する場合は、Hudson を強くお勧めします。インストールページは、実行がいかに簡単かを示しています。継続的インテグレーション サーバーは豪華で大企業向けに聞こえますが、Hudson は非常にシンプルです。

于 2009-08-07T14:38:20.417 に答える
3

CIツールを使用してこれを管理することを強くお勧めします。スパムを回避するために、ビルドで送信する電子メールを個人的に構成したいと思います。たとえば、すべての失敗ではなく、ビルドが失敗し始めたとき、または再び機能し始めたときにのみ通知します。

これが正しいアプローチであると確信している場合は、maven-changes-pluginを使用して、ビルドごとにメールを送信できます。メールテンプレートを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">
                someones@email.com</toAddress>
              <toAddress implementation="java.lang.String">
                 someoneelse@email.com</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>
于 2009-08-07T08:36:58.653 に答える
1

質問は少し古いですが、誰かがまだ別の解決策を必要としている可能性があります.そのためのプラグインを作成しました. github.comのプラグインのページをご覧ください。マルチパート代替 MimeMessages は実装されておらず (理由についてはFAQを参照してください)、適切なテンプレートも実装されていますが、添付ファイル付きのテキスト メールを送信したいだけであれば、うまくいくはずです。

これを mojo.codehaus.org に提出する予定なので、gId です。今のところ、自分でコンパイルする必要があります。ご不便をおかけして申し訳ありません。

于 2012-03-27T23:23:06.987 に答える
1

テスト結果やソース ファイルを指定する任意の html を送信するオプションを提供する高度にカスタマイズ可能なPostman メール プラグインもあります。これは、どのように構成する必要があるかを説明する良いスレッドです

于 2013-11-15T14:57:24.043 に答える
0

私はMavenを使用していませんが、プラグインでこれを行うことができると思います.

于 2009-08-07T07:19:20.137 に答える