LabVIEW Development and Continuous Integration and Continuous Delivery/Deployment

You can enhance a source control system by adopting a continuous integration and continuous delivery/deployment (CI/CD) model for LabVIEW development. CI/CD helps you manage development risk by supporting frequent, manageable code contributions and automatically building your applications.

For example, if your development process involves code contributions from many developers, it is beneficial to reconcile code submissions with each other and iteratively build your application. This way, you avoid incurring the risk that comes with waiting to test that your application functions as expected until the end of your development cycle. You can also avoid manually testing code and building your applications.

NI provides Docker containers that make it easier to set up an environment for using headless LabVIEW for CI/CD. Headless operation means a non-interactive execution mode designed for executing code or operations without human interaction. As a result, headless LabVIEW is designed to enable automated workflows. Containers are available for Windows and Linux.

Table 3. Example Components of a LabVIEW CI/CD Workflow summarizes the components that you can use to incorporate LabVIEW into a CI/CD workflow.

Table 3. Example Components of a LabVIEW CI/CD Workflow
Component Description
Code repository under source control

The repository for your LabVIEW code.

  • Developers push code updates to this repository.
  • Use the other components to test code submissions and build applications from the source code.
LabVIEW VI Analyzer Toolkit

API for static code analysis of LabVIEW code.

Use the VI Analyzer API to develop tests that enforce coding standards. For example, you can use this API to reject code contributions that do not meet your standards.

LabVIEW Command Line Interface (CLI)

Use the LabVIEW CLI to make LabVIEW accessible to other services for automated workflows.

  • Automate the build process of LabVIEW applications.
  • Run the VIs and custom operations you create in LabVIEW.
LabVIEW Application Builder API

LabVIEW API that automates the functionality of the Application Builder. Builds according to a build specification and deploys the output of a build specification programmatically.

Use this API to develop logic that builds and deploys your application.

LabVIEW Docker containers

Prepackaged environments to simplify setting up LabVIEW together with dependencies to enable CI/CD workflows.

Automation files

Support files that define actions to take when other actions occur.

For example, if you use a Git source control system, you can use hooks to script VI Analyzer tests for commits.

You can also use YAML files with your repository to trigger actions, like building a build specification.

Automation server

Server, such as Jenkins, that takes actions based on changes to the repository.

For example, the automation server can do things like the following:

  • Implement workflows you define when a developer contributes code to the repository.
  • Manage deployment of updated applications to the application targets.