継続的インテグレーション

プロジェクトの継続的インテグレーション (CI) のニーズは、非常に重要です。Maven をビルドツールとして使用すると、プロジェクトの変更ごとにトリガーされるビルドを作成し、その単体テストと機能テストをすべて自動的に実行できます。

CI の利点は次のとおりです。

  • ソフトウェア開発ライフサイクルの問題を早期の通知できる。

  • リリース前にコードを完全にテストできる。

  • 適切にテストされた分岐により、メイン分岐へのマージに成功しやすくなる。

継続的インテグレーションの目的

CI システムは、次のすべての作業を行います。

  1. プロジェクトのソースコード管理システムへの新規コミットをリスンする。CI システムは、多数の分岐の新規コミットを監視します。ポーリングを使用して新規コミットを検索したり、管理システムでコミットをプログラムに通知するイベントをトリガーしたりできます。

  2. 最新の分岐を中央サーバーに取り込む。

  3. 中央サーバーでビルドジョブを作成する。

  4. Sandbox でプロジェクトをコンパイル、テスト、パッケージ化、デプロイしてプロジェクトが正常に機能することを確認する設定可能な単体テストとインテグレーションテストをコードベースで実行する。

  5. リポジトリにアーティファクトを保存する。

  6. 各ビルドの結果を表示する。

  7. ビルドを本番にデプロイする。

これらのツールについては、それぞれの Web サイトを参照してください。

MuleSoft CI ツール

以下を使用して、Mule アプリケーションをデプロイできます。

MUnit 単体テスト​を使用して、機能テストを作成できます。

mule-maven-plugin では、以下へのデプロイメントがサポートされています。

  • CloudHub

  • Runtime Fabric

  • オンプレミス Mule インスタンス

    • スタンドアロンデプロイメント

    • Anypoint Runtime Manager REST API の使用

    • Runtime Manager エージェントの使用

Jenkins や Maven を使用する CI の完全な例については、 MuleSoft トレーニングサイト​の「Anypoint Platform Development: Advanced (Anypoint Platform 開発: 上級)」クラスを参照してください。トレーニングサイトには、関連するクラスや認定試験もあります。

外部 CI ツール

一般的な CI ツールを次に示します。

  • Jenkins

  • Hudson

  • TeamCity

  • Bamboo

これらのツールについては、それぞれの Web サイトを参照してください。

インテグレーションの注意事項

機能テストケースでコネクタを使用する場合、継続的なビルドサーバーで発生する可能性のある潜在的なポートの競合に注意してください。

デプロイ可能な対象が Mule アプリケーションではなく Web アプリケーションの場合、Junit インテグレーションテストランナーを使用して機能テストを実行し、ポートの競合を回避することを検討してください。