LabWindows/CVI User Group Documents

Showing results for 
Search instead for 
Did you mean: 

LabWindows/CVI Tip: Continuous Integration with LabWindows/CVI


Continuous integration is the development process of automating regular building and testing of code to increase developer efficiency. Because large projects can often take extended periods of time to build, it can save development time to offload this build process to a build server that uses a continuous integration service to automate builds. Regular unit and functional testing of a project can also take a long amount of time, especially if the tests are completed manually by a developer. Continuous integration (CI) services can be set up to run these tests for every new build of the project. With CVI's command line interface, it can be a simple process to set up a continuous integration service to regularly build and test a LabWindows/CVI Project.


  1. What is Jenkins?
  2. LabWindows/CVI Command Line Interface
  3. Using LabWindows/CVI with Jenkins

What is Jenkins?

Jenkins is a free, open source continuous integration service that is regarded as one of the most popular and extensible services available today. The service uses plug-ins that can allow Jenkins to integrate with different IDE's, languages, or applications to configure builds and tests for a diverse set of software projects. Once configured, Jenkins provides developers with a dashboard to monitor the status of different projects and identify trends in unit testing.

Screen Shot 2016-06-01 at 8.05.15 AM.png

One of the most commonly used features of Jenkins is the ability to call any Windows application via its command line interface by using a "Execute Windows Batch Command" build step. It can be a simple process to build a Windows .bat file that call LabWindows/CVI by command line interface calls to build LabWindows/CVI Projects.

Screen Shot 2016-06-01 at 8.03.47 AM.png

LabWindows/CVI Command Line Interface

The LabWindows/CVI Command Line Interface allows developers to automate building and compiling of projects and source code files. The Command Line Interface (CLI) has different options that can be specified when the compile executable is called to specify whether the build should be the release or debug version, what bitness the build should be, what debug level the compilation should use, and many other options.

Screen Shot 2016-06-01 at 7.51.11 AM.png

Using LabWindows/CVI with Jenkins

By creating a .bat file that lists out the command line interface calls that need to be made to LabWindows/CVI, a developer can call the .bat file from Jenkins and then configure different options for build schedule, notification options, etc.

Screen Shot 2016-06-01 at 8.10.52 AM.png

Screen Shot 2016-06-01 at 8.12.08 AM.png


  • Do you use continuous integration for the projects you work on today?
  • If so, what continuous integration service does your team use?
  • If not, do you plan on using continuous integration in the future?

Did you find this tip useful? Rate this document or add a comment below.

If you give this a try, share your experience! Add a comment below.

Collin D.
Software Product Manager