よくある質問 (FAQ)

継続的インテグレーション/継続的デリバリー (CI/CD) により、MATLAB や Simulink を利用するチームは、ビルド、テスト、検証のワークフローを信頼性が高く、再現性があり、監査可能な形で自動化できます。

MATLAB と Simulink を CI/CD ワークフローに組み込む方法

CI は、変更が行われるたびにモデルチェック、シミュレーション、テストスイート (MATLAB Test や Simulink Test を含む)、コード生成を実行することで、チームが問題を早期に発見できるよう支援します。 これにより、統合時の想定外の問題を防ぎ、一貫性があり再現性のある開発プロセスを実現します。また、テスト結果、カバレッジ、解析結果に基づいて、安心してリリースできます。

はい。シミュレーション、テスト (SIL および PIL を含む)、チェック、コード生成はすべてプログラムから実行でき、他のパイプライン手順と同様に連携させて進めることができるため、モデルベースデザインのワークフローは標準的な CI/CD の各段階に直接対応します。

はい。MATLAB および Simulink は、Azure DevOps、GitHub Actions、GitLab CI/CD、Jenkins など、さまざまな CI/CD プラットフォーム上で動作します。主な CI/CD プラットフォームの多くに対応したプラグインが用意されており、すぐに利用を開始できます。


CI/CD への導入方法

CI/CD で MATLAB と Simulink を使用するには、次のものが必要です。

  • ソース管理システム
  • CI/CD システム
  • MATLAB コンテナーイメージ (またはバーチャルマシン)
  • MATLAB ライセンス
  • パイプライン構成

詳細については、当社の「DevOps 統合ガイド」をご覧ください。

コンテナーを使用すると、ランタイム環境を標準化し、エージェント間のドリフトを軽減し、同一のイメージ定義からジョブを起動することで再現性を高めることができます。当社の MATLAB Dockerfile 参照アーキテクチャ を使用すると、お使いの CI/CD システム向けに MATLAB および Simulink コンテナーを作成できます。一部の CI プラットフォームでは、特に Linux 以外の環境において、コンテナーの代替手段としてバーチャルマシンや常駐型ランナーを活用できます。しかしながら CI/CD においては、多くの場合にコンテナーが効率的かつ効果的な選択肢となります。

一般的なパイプラインは、プル、ビルド、テスト、解析、公開という定番の段階を経ます。ワークフローには通常、モデル アドバイザー チェック、シミュレーションベースのテスト (該当する場合は SIL/PIL を含む)、コード生成、静的解析、カバレッジ収集などが含まれ、各段階において生成された成果物は CI システムによって収集・表示されます。

導入の参考となるパイプライン構成の例をご紹介します。

MATLAB と Simulink は必須要件です。

その他の製品については、パイプラインで自動化したいプロセスなどに応じて必要になります。例は次のとおりです。

導入を高速化し、CI/CD パイプラインを構築したい場合は、CI/CD Automation for Simulink Check Support Package を利用することもできます。

モデルチェック、シミュレーション、テスト、ビルドなど、既存の作業から始め、スクリプトを使用してこうした手順を再現可能にするといいでしょう。ローカルでのワークフローが安定したら、CI システムを構成して同じコマンドを自動的に実行させ、徐々に規模を拡大していきましょう。

ありません。デスクトップツールで引き続き対話型開発を行えます。CI により、ビルド、テスト、検証の各ステップのパッケージ化の方法が変わり、複数の環境間で非対話的かつ一貫して実行できます。


CI/CD における MATLAB および Simulink のライセンス管理

CI/CD システムで MATLAB のライセンスを取得するには、MATLAB バッチトークンの使用をおすすめします。注:バッチトークンの取得には、追加の MATLAB ライセンスが必要になる場合があります。


ビルド、テスト、検証ワークフローのカスタマイズ

MATLAB や Simulink でスクリプト化できるほぼすべての処理 (シミュレーション、テストの実行、コード生成、トレーサビリティ レポートの作成など) は、CI 環境で実行できます。MATLAB ビルドツールおよび CI/CD Automation for Simulink Check Support Package を利用すると、カスタマイズ可能でスケーラブルな CI パイプラインを構築できます。

はい。多くのお客様は、高度なワークフローを効率化するために、CI パイプラインにおいてコード生成と検証を自動化しています。CI でコード生成製品を使用するには、クライアント アクセス ライセンス (CAL) が必要な場合があります。


ガバナンス、トレーサビリティ、レビューの支援

はい。CI は、検証ワークフローを自動化し、テスト結果、レポート、カバレッジ、解析結果など、再現性のある出力を生成します。 こうした手法は、DO-178C、IEC 61508、ISO 26262 などの規格に準拠した作業を含め、追跡可能かつレビュー可能な検証証拠が求められるエンジニアリングのワークフローにおいて、一般的に採用されています。

モデルアドバイザーや Polyspace による静的解析を含むチェックは、スクリプト化された CI ステップとして実行され、チーム間でレビューできるよう構造化された結果が公開されます。

CI は、特定の変更に関連する入力、構成、検証結果を含め、各実行の記録を長期にわたり保持します。


拡張とインフラストラクチャの計画

パイプラインは、作業を独立した段階に分割し、それらを複数のランナーに分散することでスケーラビリティを実現します。これにより、高速チェックと長時間かかるシミュレーションやビルドを分離し、予測可能なサイクルタイムを維持できます。

はい。利用可能なコンピューティング リソースとライセンスリソースの範囲内で、個別のシミュレーション、テスト、ビルドを、独立した CI ジョブとして実行できます。


CI/CD におけるよくある落とし穴

CI パイプラインが停止する一般的な原因としては、次のようなものが挙げられます。

  • ワークフロー、機能、または UI がユーザーの操作を必要とする
  • 利用できないハードウェアまたはファイルシステムへのアクセスを待機している
  • パイプラインが CI リソースを圧迫している

多くのチームでは、結果が CI/CD ログ内にとどまったり、CI/CD システム内からしかアクセスできないアーティファクトが生成されたりすることがあります。CI/CD システム外で結果を確認するには、パイプラインが結果を公開するか、成果物管理システムにアップロードするように設定してください。

一般的な原因には、次のようなものが挙げられます。

  • 不適切なライセンスタイプを使用している
  • ライセンス構成が無効
  • CI システムがライセンスサーバーにアクセスできない

こうした問題の多くは、MATLAB バッチトークンを使用し、バッチトークンの使用方法に関する手順に従うことで回避できます。


MathWorks に連絡すべきタイミング

通常、チームは次のような場合に連絡をします。

  • シミュレーションを多用するワークフローを CI/CD に拡張する
  • モデルベースデザインを既存の DevOps パイプラインに統合する
  • 規制対象プログラムに対して追跡可能な検証ワークフローを確立する
  • 手動テストから、自動化され、繰り返し実行可能なパイプラインへ移行する
  • 単一のパイプライン内で、モデル、テスト、生成されたコードを整合させる

こうした課題が現在のワークフローに該当するのであれば、具体的な議論を行うことで、着手すべきポイントを特定し、導入時に陥りがちな落とし穴を回避できます。