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

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

NIでは、CI/CD用にヘッドレスLabVIEWを使用する環境を簡単にセットアップできるDockerコンテナを提供しています。ヘッドレス操作とは、コードや操作を人間の介入なしで実行するために設計された非対話式実行モードのことです。その結果、ヘッドレスLabVIEWは自動化ワークフローを実現するように設計されています。コンテナはWindowsとLinuxで使用できます。

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

表 3. 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などのサーバは、リポジトリへの変更に基づいて処理を実行します。

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

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