How many clicks does it take you from saving your VI to getting your built project to your customer?
For us, it’s a lot. That’s what motivated us to look into automating some of our build steps. Today, our automation chain covers most of the important steps in our release process.
Available Automation Tools
What’s been going lately with our tools?
Version 3.12 is all about improving support for various release tag formats. It also comes with some other handy features like installing .vipc files automatically, clearing out caches and other small fixes.
- [FIX] use the supplied or derived release tag prefix for finding current and previous git tags
- [FEATURE] Install .vipc files before building (#45)
- [FEATURE] Overwrite instead of add outputs to CLI (#54)
- [FEATURE] Create CodeClimate Code Quality reports (#56)
- [FEATURE] Clear Object Cache before building (#57)
- [FEATURE] Allow Extended Commit Tags as RAT YAML prefix (see our Dokuwiki) (#66)
- [FEATURE] Optionally provide both YAML prefix and Commit Tag via CLI (#68)
- [FEATURE] Improve parsing of YAML variables
- [FIX] Use Build Spec name instead of RAT YAML prefix for package file names to make them unique (#65)
- [FIX] Output status and errors when calling asciidoctor binary from LabVIEW (#63)
- [FIX] Various small bug fixes
- [FIX] Documentr: Improve error output
- — Maintenance Release —
- [FIX] Correctly update version numbers in hse-application-template based projects
- [FIX] Automatically detect interface class type
- [FIX] Ignore errors during checking VI types when looking for version constants to update
- [FIX] improve error output when paths are not accessible
- [FEATURE] support for public release VIP of AntiDoc
Join our webinars to learn more about our Release Automation Tools.
Currently we don’t have any dates fixed, but please reach out to us if you’re interested. We’re happy to accommodate a one-on-one meeting or another public webinar. We can also share recordings of past webinars.
On-Demand RAT Webinar
Release Automation Tools – An Introduction
Introduction into the overall structure and process landscape.
Live demonstration of triggering the automation.
Introduction of available RAT steps/scripts.
Requirements for running RAT on your own infrastructure.
- On Demand
Besides running our Release Automation Tools on our own servers, we offer commercial licenses so you can facilitate the same tools in your own infrastructure for your own projects.
The license comes exclusively as part of a consulting project: Collaborating closely with your team, we install and setup our tools in your infrastructure and introduce the necessary processes and methods to fully leverage them.
We’d be happy to discuss all the details in a personal call. Please get in touch with your contact details, and we’ll call you back. You can use the following button:
1. Changes are pushed to Source Control Server
Gitflow dictates the way we create and merge branches in our repos, and when and where we create releases. Hence, it also defines the calling points of our automation.
Whenever a developer pushes back to the master repo (the origin), the GitLab CI/CD automation mechanism is triggered and executes according to its configuration.
Watch a screencast of this at youtu.be/ue0NeYNEYf0.
2. Source Control Server triggers Build Server
The .gitlab-ci.yml configuration file, which is part of the repo and therefore project-specific, defines which actions to take on which event („when to call which scripts“).
In order to execute actions on a build server, the GitLab Runner has to be installed on the build server. It is called from the GitLab CI and executes the actions defined in the .gitlab-ci.yml file.
On our system, the runner is called whenever a tag is pushed.
Watch a screencast of this at youtu.be/1MGP5X-LmYE.
3. Build Server executes Tools
The runner executes the scripts defined in the .gitlab-ci.yml file: Our Release Automation Tools. These tools are a collection of custom-built LabVIEW VIs that do the actual work: Validating, analyzing, testing, documenting, building, packaging and deploying our LabVIEW projects.
The VIs are built on JKI State Machines for macro functionality, and they are executed by the runner via Wiresmith Technology’s G-CLI tool, which allows to output data to the command line – and feed back to GitLab – while the VI is still running.
Watch a screencast of this at youtu.be/FTYpQNPgwAQ.
4. Built files are published
The last step in the build chain is taking the build results and moving them to a networked location (a NAS) that is accessible from the public web.
We use Dokuwiki to serve build results on the web. Our proprietary Dokuwiki plugin queries the GitLab API for the project’s tags. Based on the tag list, it queries the file server for files related to each tag and auto-generates the download links on the release webpage.
Watch a screencast of this at youtu.be/POB25NRlxD4.