<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Command Line Tools for Continuous Integration in Continuous Integration</title>
    <link>https://ni.lithium.com/t5/Continuous-Integration/Command-Line-Tools-for-Continuous-Integration/m-p/3640402#M143</link>
    <description>&lt;P&gt;&lt;A href="https://github.com/LabVIEW-DCAF/buildsystem/releases" target="_blank"&gt;https://github.com/LabVIEW-DCAF/buildsystem/releases&lt;/A&gt;&lt;/P&gt;</description>
    <pubDate>Tue, 06 Jun 2017 19:36:15 GMT</pubDate>
    <dc:creator>MattP</dc:creator>
    <dc:date>2017-06-06T19:36:15Z</dc:date>
    <item>
      <title>Command Line Tools for Continuous Integration</title>
      <link>https://ni.lithium.com/t5/Continuous-Integration/Command-Line-Tools-for-Continuous-Integration/m-p/3640379#M139</link>
      <description>&lt;P&gt;Hello fellow CI enthusiasts,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;A while ago with the hope of making CI easier with LabVIEW I put together a toolkit for using a command line interface with LabVIEW programs so that it is easy to use Jenkins and other CI tools.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;A few people have run with this and it is now on the tools network and there were several presentations of it on at NI Week (see&amp;nbsp;&lt;A href="https://ni.lithium.com/t5/Continuous-Integration/NIWeek-2017-Automated-Test-of-LabVIEW-FPGA-Code-CI-and-Jenkins-2/gpm-p/3639855" target="_self"&gt;https://forums.ni.com/t5/Continuous-Integration/NIWeek-2017-Automated-Test-of-LabVIEW-FPGA-Code-CI-and-Jenkins-2/gpm-p/3639855&lt;/A&gt;&amp;nbsp;for an example!)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;What has been interesting to me is that I had intended to take this and create a build tool where you have a configuration file to define the different builds or tests you want to complete.&lt;/P&gt;
&lt;P&gt;However those that have used it have tended to make smaller tools for each task for example the presentation linked above or the DCAF project on github which has created the CLI common steps package on the tools network.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So the discussions I had with various people agreed that it is worth combining our energy towards a single set of tools. The question I have for you all is. Would you be most interested in:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;1. A series of VIs you can call for each function. Right now it means that you need to close and open LabVIEW for each step but each step is very simple and can be chained as stages of a Jenkins pipeline.&lt;/P&gt;
&lt;P&gt;2. A LabVIEW "build" tool which takes a configuration file so you can just call LabVIEW Build from the command line but it is likely to be somewhat more complex.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;What would you be interested in? What do you do now?&lt;/P&gt;</description>
      <pubDate>Tue, 06 Jun 2017 18:56:17 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/Continuous-Integration/Command-Line-Tools-for-Continuous-Integration/m-p/3640379#M139</guid>
      <dc:creator>James_McN</dc:creator>
      <dc:date>2017-06-06T18:56:17Z</dc:date>
    </item>
    <item>
      <title>Re: Command Line Tools for Continuous Integration</title>
      <link>https://ni.lithium.com/t5/Continuous-Integration/Command-Line-Tools-for-Continuous-Integration/m-p/3640380#M140</link>
      <description>&lt;P&gt;Since I'm the one who wrote the collection of simple steps referenced above, I am in favor of&amp;nbsp;keeping the tooling as dumb and transparent as possible, and leave the build orchestration to Jenkins.&lt;/P&gt;</description>
      <pubDate>Tue, 06 Jun 2017 18:57:52 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/Continuous-Integration/Command-Line-Tools-for-Continuous-Integration/m-p/3640380#M140</guid>
      <dc:creator>MattP</dc:creator>
      <dc:date>2017-06-06T18:57:52Z</dc:date>
    </item>
    <item>
      <title>Re: Command Line Tools for Continuous Integration</title>
      <link>https://ni.lithium.com/t5/Continuous-Integration/Command-Line-Tools-for-Continuous-Integration/m-p/3640388#M141</link>
      <description>&lt;P&gt;I am in favour of the option that is easiest to support, maintain and extend. We have our own in-house test framework for example, and we don't use Jenkins (TeamCity) and thus have our own suite of plug-ins to support the CI API.&lt;/P&gt;</description>
      <pubDate>Tue, 06 Jun 2017 19:14:03 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/Continuous-Integration/Command-Line-Tools-for-Continuous-Integration/m-p/3640388#M141</guid>
      <dc:creator>tyk007</dc:creator>
      <dc:date>2017-06-06T19:14:03Z</dc:date>
    </item>
    <item>
      <title>Re: Command Line Tools for Continuous Integration</title>
      <link>https://ni.lithium.com/t5/Continuous-Integration/Command-Line-Tools-for-Continuous-Integration/m-p/3640398#M142</link>
      <description>&lt;P&gt;Thanks Matt! I was struggling to find a web link to the tools - are they on github somewhere?&lt;/P&gt;</description>
      <pubDate>Tue, 06 Jun 2017 19:31:55 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/Continuous-Integration/Command-Line-Tools-for-Continuous-Integration/m-p/3640398#M142</guid>
      <dc:creator>James_McN</dc:creator>
      <dc:date>2017-06-06T19:31:55Z</dc:date>
    </item>
    <item>
      <title>Re: Command Line Tools for Continuous Integration</title>
      <link>https://ni.lithium.com/t5/Continuous-Integration/Command-Line-Tools-for-Continuous-Integration/m-p/3640402#M143</link>
      <description>&lt;P&gt;&lt;A href="https://github.com/LabVIEW-DCAF/buildsystem/releases" target="_blank"&gt;https://github.com/LabVIEW-DCAF/buildsystem/releases&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 06 Jun 2017 19:36:15 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/Continuous-Integration/Command-Line-Tools-for-Continuous-Integration/m-p/3640402#M143</guid>
      <dc:creator>MattP</dc:creator>
      <dc:date>2017-06-06T19:36:15Z</dc:date>
    </item>
    <item>
      <title>Re: Command Line Tools for Continuous Integration</title>
      <link>https://ni.lithium.com/t5/Continuous-Integration/Command-Line-Tools-for-Continuous-Integration/m-p/3640500#M144</link>
      <description>&lt;P&gt;I use&amp;nbsp;&lt;A href="https://about.gitlab.com/features/gitlab-ci-cd/" target="_self"&gt;Gitlab's Continuous Integration &amp;amp; Deployment Pipelines&lt;/A&gt;&amp;nbsp;instead of Jenkins,&amp;nbsp;but&amp;nbsp;both offer similar extended functionality for configuring and executing build jobs.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In gitlab, you configure the CI and CD jobs in a very straight-forward way by&amp;nbsp;means&amp;nbsp;of&amp;nbsp;a text file (the &lt;A href="https://docs.gitlab.com/ee/ci/yaml/" target="_self"&gt;.gitlab-ci.yml&lt;/A&gt;&amp;nbsp;file) that's part of the repository itself. &lt;SPAN&gt;The file defines a set of jobs &amp;nbsp;(scripts to be run) with constraints stating when they should be run. &lt;/SPAN&gt;The scenarios can be as simple&amp;nbsp;or complex as you need them to be, based on a per-repository basis.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I came up with a&amp;nbsp;set of VIs, each for one purpose (eg setup, analyze, test, build, package, deploy), as I felt it serves the mechanisms of the CI/CD tool much better, and it's very easy to call them one by one per stage. Combining them is then the job of the CI pipelines. I also do have a little application that lets me configure and execute the whole build job locally.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Hence, I'd be interested in the "series of VIs" option.&lt;/P&gt;</description>
      <pubDate>Tue, 06 Jun 2017 22:14:22 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/Continuous-Integration/Command-Line-Tools-for-Continuous-Integration/m-p/3640500#M144</guid>
      <dc:creator>joerg.hampel</dc:creator>
      <dc:date>2017-06-06T22:14:22Z</dc:date>
    </item>
    <item>
      <title>Re: Command Line Tools for Continuous Integration</title>
      <link>https://ni.lithium.com/t5/Continuous-Integration/Command-Line-Tools-for-Continuous-Integration/m-p/3640649#M145</link>
      <description>&lt;P&gt;That's really interesting Joerg, the main thing that made me think of the other tool was the ability to run it locally as well. So is that a LabVIEW app or something else? I know someone at CLA-E was using make files for this&lt;/P&gt;</description>
      <pubDate>Wed, 07 Jun 2017 06:18:55 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/Continuous-Integration/Command-Line-Tools-for-Continuous-Integration/m-p/3640649#M145</guid>
      <dc:creator>James_McN</dc:creator>
      <dc:date>2017-06-07T06:18:55Z</dc:date>
    </item>
    <item>
      <title>Re: Command Line Tools for Continuous Integration</title>
      <link>https://ni.lithium.com/t5/Continuous-Integration/Command-Line-Tools-for-Continuous-Integration/m-p/3640687#M146</link>
      <description>&lt;P&gt;It's a LabVIEW app actually.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Back when I called my build tools only manually, I used to have all functionality inside one VI, my "AppBuilder". I would read the project file I wanted to process, and have a proprietary config file in the same directory.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;When I started with the gitlab CI and calling the build tool from the Gitlab runner, I shelled out the&amp;nbsp;functionality of the different stages into single VIs to call them one by one from the Gitlab runner. I kept the GUI, and the AppBuilder now calls the VIs - just as the Gitlab Runner does - from the command line with your CLI-LabVIEW tool.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I'll be happy to share the code with you if you're interested, but it definitely needs a little more love before I can show it to you or even in public.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;IMG src="https://ip1.i.lithium.com/a7571cb1370748032f093543f0537ffe6ea1bdf2/68747470733a2f2f6e692e6c69746869756d2e636f6d2f74352f696d6167652f736572766572706167652f696d6167652d69642f32303434393669323342393832313435304237323343322f696d6167652d73697a652f6f726967696e616c3f763d312e302670783d2d31" border="0" alt="hse_appbuilder.png" title="hse_appbuilder.png" /&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 07 Jun 2017 07:47:26 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/Continuous-Integration/Command-Line-Tools-for-Continuous-Integration/m-p/3640687#M146</guid>
      <dc:creator>joerg.hampel</dc:creator>
      <dc:date>2017-06-07T07:47:26Z</dc:date>
    </item>
    <item>
      <title>Re: Command Line Tools for Continuous Integration</title>
      <link>https://ni.lithium.com/t5/Continuous-Integration/Command-Line-Tools-for-Continuous-Integration/m-p/3641015#M147</link>
      <description>&lt;P&gt;Wow that looks fantastic! (no need to share, just the inspiration is great).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I think that kind of answers my question then that for the CI side having several independent tools seems to be the preferred option, especially if you original had the all in one and deliberately moved away (but if your lurking do chime in if you think the opposite)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;By now I should have Matt's tools installed so I can try them out. Thanks for the web link for those although the github repo seems out of date?&lt;/P&gt;</description>
      <pubDate>Wed, 07 Jun 2017 15:31:32 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/Continuous-Integration/Command-Line-Tools-for-Continuous-Integration/m-p/3641015#M147</guid>
      <dc:creator>James_McN</dc:creator>
      <dc:date>2017-06-07T15:31:32Z</dc:date>
    </item>
    <item>
      <title>Re: Command Line Tools for Continuous Integration</title>
      <link>https://ni.lithium.com/t5/Continuous-Integration/Command-Line-Tools-for-Continuous-Integration/m-p/3641017#M148</link>
      <description>&lt;P&gt;Github release is one version ahead of what is posted on tools network. &amp;nbsp;It will be bumped over to tools network once your latest version (integrating the MSI) is posted, so I can simplify the instructions on my set.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I'd also be very happy to have you roll in those pieces to your tool set and deprecate mine entirely.&lt;/P&gt;</description>
      <pubDate>Wed, 07 Jun 2017 15:35:14 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/Continuous-Integration/Command-Line-Tools-for-Continuous-Integration/m-p/3641017#M148</guid>
      <dc:creator>MattP</dc:creator>
      <dc:date>2017-06-07T15:35:14Z</dc:date>
    </item>
    <item>
      <title>Re: Command Line Tools for Continuous Integration</title>
      <link>https://ni.lithium.com/t5/Continuous-Integration/Command-Line-Tools-for-Continuous-Integration/m-p/3641031#M149</link>
      <description>&lt;P&gt;I mean the actual code repository seems to still just be groovy scripts for the web based builder?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;My feeling would be that we should have a separate toolset. The CLI tool serves a very specific purpose and I would like to see a separate toolset for build tools that leverage it.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I think from what I'm hearing the best approach maybe to start with what you have, a set of tools for common steps which would also provide a kind of consistent structure to make it easy in the future.&lt;/P&gt;
&lt;P&gt;Based on what you have described (not what I have tried so far so correct me if I'm wrong!) there are a couple of things on top of the VIs that I think would make it much easier:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;A consistent/reliable installation location - I know right now you have to map them to a drive, we have not discussed why, but this would be a nice step to remove.&lt;/LI&gt;
&lt;LI&gt;A simple command line API. You have abstracted that to the groovy scripts but in order to run it from any environment I'm thinking you install a batch file alongside each VI which can manage calling it through LabVIEW CLI so perhaps you can get to lv-build-vitester my.lvproj as the command (although that is over simplified!)&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;This can then act as a template for anyone that needs custom steps too. For example I may want to update the build number in my version constant, it wouldn't go in the tool but I can use it as a template.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thats what I picture as my dream solution in my head anyway, happy to receive&amp;nbsp;feedback on the concept (and I'm going to work with what you have more this week to solidify it)&lt;/P&gt;</description>
      <pubDate>Wed, 07 Jun 2017 15:50:05 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/Continuous-Integration/Command-Line-Tools-for-Continuous-Integration/m-p/3641031#M149</guid>
      <dc:creator>James_McN</dc:creator>
      <dc:date>2017-06-07T15:50:05Z</dc:date>
    </item>
    <item>
      <title>Re: Command Line Tools for Continuous Integration</title>
      <link>https://ni.lithium.com/t5/Continuous-Integration/Command-Line-Tools-for-Continuous-Integration/m-p/3641063#M150</link>
      <description>&lt;P&gt;Ah, got it. &amp;nbsp;FYI, there are two branches in there: lv-cli (using your tool), and lv-ci-service (the previous approach using web services that we ditched). &amp;nbsp;lv-cli is the active branch. &amp;nbsp;I'm keeping the other one around just as a backup. &amp;nbsp;Since master was still showing the lv-ci-service info, I just merged lv-cli into master to eliminate that confusion.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;FYI, I'm working with the LabVIEW R &amp;amp; D guys on possible future implementations of a CLI for LabVIEW. &amp;nbsp;They're looking at our discussions pretty closely. &amp;nbsp;The feedback is being heard!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Also FYI, we also had a custom script file that was consumed by a monolithic LV program to do multiple build steps. &amp;nbsp;We moved away from that approach in favor of putting the orchestration logic into Jenkins. &amp;nbsp;This permitted parallel builds much more effectively, as well as running tests on multiple versions.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thoughts:&lt;/P&gt;
&lt;P&gt;1.&lt;/P&gt;
&lt;P&gt;The L:\ drive approach we have is actually not necessary - L:\ could be replaced with C:\Users\Public\Documents\LV-CLI Common Steps\Steps\ and work fine. &amp;nbsp;I used an L: mapping because that's just the process we happen to use on our build server (Jenkins agent lives at J:\, LabVIEW pieces live at L:\, github repos mapped to G:\, just to abstract out where individual systems actually store things), and the package was just a straight export of what we use on our build server. I think the cleaner approach would be to use a system symbolic link to the public documents directory and use a relative path from there. &amp;nbsp;The reason we used public documents rather than install to a particular LV's vi.lib is that we wanted it to work without modification on different LV versions on the same machine. &amp;nbsp;Quite probably there is a more efficient solution for that.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;2. &amp;nbsp;Honestly, I'm not sure how much value a batch script would have, since all it would do is call the command line. &amp;nbsp;You'd still need a wrapper to get the values from another interface and format them to match what the command line needs.&lt;/P&gt;</description>
      <pubDate>Wed, 07 Jun 2017 16:08:34 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/Continuous-Integration/Command-Line-Tools-for-Continuous-Integration/m-p/3641063#M150</guid>
      <dc:creator>MattP</dc:creator>
      <dc:date>2017-06-07T16:08:34Z</dc:date>
    </item>
    <item>
      <title>Re: Command Line Tools for Continuous Integration</title>
      <link>https://ni.lithium.com/t5/Continuous-Integration/Command-Line-Tools-for-Continuous-Integration/m-p/3641075#M151</link>
      <description>&lt;P&gt;Here's my set of command line tools:&amp;nbsp;&lt;A href="https://github.com/chinghwayu/Command-Line-Tools" target="_blank"&gt;https://github.com/chinghwayu/Command-Line-Tools&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I added a couple more things in there such as suppressing dialogs and injecting a build number from the CI system.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I submitted mine to the Tools Network about the same as Matt right before NIWeek and I'm happy to deprecate this.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I don't see value in including batch files either but we could have separate template/example areas in the Github repo - common (batch, bash, etc.) and then CI system specific (e.g. Jenkins groovy templates, Gitlab yml, etc.). You don't necessarily need to use/install them but it's there as example implementations and a central place for additional community-contributed documentation.&lt;/P&gt;</description>
      <pubDate>Wed, 07 Jun 2017 16:28:50 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/Continuous-Integration/Command-Line-Tools-for-Continuous-Integration/m-p/3641075#M151</guid>
      <dc:creator>chinghwayu</dc:creator>
      <dc:date>2017-06-07T16:28:50Z</dc:date>
    </item>
    <item>
      <title>Re: Command Line Tools for Continuous Integration</title>
      <link>https://ni.lithium.com/t5/Continuous-Integration/Command-Line-Tools-for-Continuous-Integration/m-p/3641083#M152</link>
      <description>One utility which I discussed during my session which should be included is the ability to execute specific tests within UTF or VI Tester. Currently, the implementation is basic and only points to a single project file but you may want to run unit tests for specific objects as an example (shorter smoke test) before you execute the entire test suite.</description>
      <pubDate>Wed, 07 Jun 2017 16:36:51 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/Continuous-Integration/Command-Line-Tools-for-Continuous-Integration/m-p/3641083#M152</guid>
      <dc:creator>chinghwayu</dc:creator>
      <dc:date>2017-06-07T16:36:51Z</dc:date>
    </item>
    <item>
      <title>Re: Command Line Tools for Continuous Integration</title>
      <link>https://ni.lithium.com/t5/Continuous-Integration/Command-Line-Tools-for-Continuous-Integration/m-p/3641827#M153</link>
      <description>&lt;P&gt;The main thought process behind the batch files would be to make it as easy as possible for someone to get started as well as making it easy to run steps locally as well but regardless that is a small part - getting the steps right in the first place is the critical piece.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Supress dialogs is great! I'm looking at your build number injection as well. For my own curiosity&amp;nbsp;(as I know you have done the jenkins&amp;nbsp;training) do they recommend this? I have done this on projects but not sure how solid it is since if you lose and recreate the jenkins job the numbers reset.&lt;/P&gt;</description>
      <pubDate>Thu, 08 Jun 2017 17:50:01 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/Continuous-Integration/Command-Line-Tools-for-Continuous-Integration/m-p/3641827#M153</guid>
      <dc:creator>James_McN</dc:creator>
      <dc:date>2017-06-08T17:50:01Z</dc:date>
    </item>
    <item>
      <title>Re: Command Line Tools for Continuous Integration</title>
      <link>https://ni.lithium.com/t5/Continuous-Integration/Command-Line-Tools-for-Continuous-Integration/m-p/3641828#M154</link>
      <description>&lt;P&gt;On the DCAF front (having lost and rebuild build servers a few times now), we use the following strategy for build number injection:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;We take the Jenkins build number, the number in the VIPB file, and the build number of the latest deployed package in our internal repository, take the highest, and increment.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The reason we don't use just the Jenkins build number is multibranch builds. &amp;nbsp;If I have two branches of the same repo, each branch gets different build numbers, starting at 1. &amp;nbsp;We got conflicting package versions when we just used the Jenkins build number.&lt;/P&gt;</description>
      <pubDate>Thu, 08 Jun 2017 17:54:44 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/Continuous-Integration/Command-Line-Tools-for-Continuous-Integration/m-p/3641828#M154</guid>
      <dc:creator>MattP</dc:creator>
      <dc:date>2017-06-08T17:54:44Z</dc:date>
    </item>
    <item>
      <title>Re: Command Line Tools for Continuous Integration</title>
      <link>https://ni.lithium.com/t5/Continuous-Integration/Command-Line-Tools-for-Continuous-Integration/m-p/3641845#M155</link>
      <description>&lt;P&gt;Perhaps a VI which allows a user to select an operation with&amp;nbsp;input parameters and displays the resulting command would be a good tutorial interface. A user could then press a button to launch the process. If they like what they see, have another button that allows you to copy the command into the clipboard so it can be easily used elsewhere such as pasting into a Jenkins job.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It's a common build practice to use a number from either the build system or version control where the unique identifier from commits is used.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;With build systems, you should be able to&amp;nbsp;specify the next build number to use. With Jenkins, this is available through the UI or API.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;There's two ways to deal with multibranch:&lt;/P&gt;
&lt;P&gt;1. In Jenkins, you can&amp;nbsp;have&amp;nbsp;a groovy script find your branches, take the highest build number among them, and increment.&lt;/P&gt;
&lt;P&gt;2. Branches could have unique versions by incrementing the PATCH number. When it's rolled up to master or the integration branch, increment the MINOR number.&lt;/P&gt;</description>
      <pubDate>Thu, 08 Jun 2017 18:30:38 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/Continuous-Integration/Command-Line-Tools-for-Continuous-Integration/m-p/3641845#M155</guid>
      <dc:creator>chinghwayu</dc:creator>
      <dc:date>2017-06-08T18:30:38Z</dc:date>
    </item>
    <item>
      <title>Re: Command Line Tools for Continuous Integration</title>
      <link>https://ni.lithium.com/t5/Continuous-Integration/Command-Line-Tools-for-Continuous-Integration/m-p/3902291#M228</link>
      <description>&lt;P&gt;Hello Joerg,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I am currently working on university project trying to show the importance of CI/CD and how it can be implemented using GitLab. A part of the project is collecting simple examples of CI/CD pipelines for different languages and scenarios. So far I have created them for C++, Python and JS. However, I have not been very successful trying to implement it for LabVIEW. I am not very familiar with the language, and since everything is windows based I do not know how to get my runner to even compile a VI.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Could you maybe help me? Some inspiration from your code may just be enough so I can implement my own test case.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you very much,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;David&lt;/P&gt;</description>
      <pubDate>Mon, 11 Mar 2019 19:39:47 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/Continuous-Integration/Command-Line-Tools-for-Continuous-Integration/m-p/3902291#M228</guid>
      <dc:creator>dramonpr</dc:creator>
      <dc:date>2019-03-11T19:39:47Z</dc:date>
    </item>
    <item>
      <title>Re: Command Line Tools for Continuous Integration</title>
      <link>https://ni.lithium.com/t5/Continuous-Integration/Command-Line-Tools-for-Continuous-Integration/m-p/3902317#M229</link>
      <description>&lt;P&gt;Hey dramonpr, send me a PM and let's see if I can help you.&lt;/P&gt;</description>
      <pubDate>Mon, 11 Mar 2019 20:51:09 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/Continuous-Integration/Command-Line-Tools-for-Continuous-Integration/m-p/3902317#M229</guid>
      <dc:creator>joerg.hampel</dc:creator>
      <dc:date>2019-03-11T20:51:09Z</dc:date>
    </item>
    <item>
      <title>Re: Command Line Tools for Continuous Integration</title>
      <link>https://ni.lithium.com/t5/Continuous-Integration/Command-Line-Tools-for-Continuous-Integration/m-p/3902615#M230</link>
      <description>&lt;P&gt;Hey Joerg,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks for your reply. Unfortunately I cannot send private messages since I am newcomer member, and I need to wait 14 days until I am allowed to do so. Maybe if you send me one I can start communicating with you?&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks again,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;David&lt;/P&gt;</description>
      <pubDate>Tue, 12 Mar 2019 14:52:54 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/Continuous-Integration/Command-Line-Tools-for-Continuous-Integration/m-p/3902615#M230</guid>
      <dc:creator>dramonpr</dc:creator>
      <dc:date>2019-03-12T14:52:54Z</dc:date>
    </item>
  </channel>
</rss>

