LabVIEW開発に継続的インテグレーションおよび継続的デリバリ/デプロイメント (CI/CD) モデルを採用することで、ソース管理システムを強化できます。CI/CDは、頻繁で管理しやすいコードコントリビューションをサポートし、アプリケーションを自動的にビルドすることで、開発リスクを管理できます。

たとえば、開発プロセスに多数の開発者からのコード提供が含まれる場合、コード提供を相互に調整し、アプリケーションを繰り返しビルドすることが有益です。こうすることで、開発サイクルの最後までアプリケーションが期待どおりに機能することをテストするのを待つことによるリスクを回避できます。また、コードを手動でテストしたり、アプリケーションをビルドしたりすることも回避できます。

NIでは、CI/CDにヘッドレスLabVIEWを使用する環境を簡単に設定するためのDockerコンテナを提供しています。ヘッドレス操作とは、人間の介入なしにコードや操作を実行するように設計された非対話式実行モードのことです。その結果、ヘッドレスLabVIEWは自動化ワークフローを実現するように設計されています。ライセンスシートを占有せず、CI/CD用の専用マシンを用意することなく、NIが審査したこれらの公式イメージを使用できます。コンテナはWindowsとLinuxで使用できます。

表 4. LabVIEW CI/CDワークフローのサンプルコンポーネントは、LabVIEWをCI/CDワークフローに組み込むために使用できるコンポーネントの概要を示します。

表 4. LabVIEW CI/CDワークフローのサンプルコンポーネント
コンポーネント 説明
ソース管理下のコードリポジトリ

LabVIEWコードのリポジトリ。

  • 開発者はこのリポジトリにコードの更新をプッシュします。
  • その他のコンポーネントを使用して、コード提出のテストや、ソースコードからのアプリケーションのビルドを行います。
LabVIEW VI Analyzerツールキット

LabVIEWコードのスタティックコード解析用のAPI。

VIアナライザAPIを使用して、コーディング標準を強制するテストを開発します。たとえば、このAPIを使用して、標準を満たさないコードの貢献を拒否することができます。

LabVIEWコマンドラインインタフェース (CLI)

LabVIEW CLIを使用して、LabVIEWを自動ワークフローの他のサービスから利用できるようにします。

  • LabVIEWアプリケーションのビルドプロセスを自動化します。
  • LabVIEWで作成したVIとカスタム操作を実行します。
LabVIEWアプリケーションビルダAPI

アプリケーションビルダの機能を自動化するLabVIEW API。ビルド仕様に従ってビルドし、ビルド仕様の出力をプログラム的にデプロイします。

このAPIを使用して、アプリケーションをビルドおよびデプロイするロジックを作成します。

LabVIEW Dockerコンテナ

CI/CDワークフローを有効にする依存項目とともにLabVIEWのセットアップを簡素化するパッケージ済みの環境。

オートメーションファイル

他の動作が発生したときに実行する動作を定義するサポートファイルです。

たとえば、Gitソース管理システムを使用する場合、コミット用のVIアナライザテストをスクリプト化するフックを使用できます。

また、リポジトリでYAMLファイルを使用して、ビルド仕様のビルドなどの動作をトリガすることもできます。

自動化サーバ

Jenkinsなどのサーバは、リポジトリへの変更に基づいて処理を実行します。

たとえば、オートメーションサーバでは、次のようなことができます。

  • 開発者がコードをリポジトリに提供するときに定義するワークフローを実装します。
  • 更新されたアプリケーションのアプリケーションターゲットへのデプロイメントを管理します。