From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Continuous Integration

cancel
Showing results for 
Search instead for 
Did you mean: 

NIPM and CI

So there are some packages that appear to only be available though NIPM.  The one that I just came across and broke my builds is LabVIEW SystemLink Toolkit.

 

image.png

 

Now when I hit install NIPM installs a half dozen packages and so grabbing the individual packages and adding them to a script that as a pre-build step installs them on the runner seems like an option. That is a bit of a pain because it is unclear which packages those are, and also some of our runners are offline because of IT security being a bunch of paranoids.  So then I have to mirror those feeds on our local SystemLink server blah blah blah, it's too early in the morning.      

 

I am also considering grabbing the offline installer and putting it inside a vip and consuming it via VIPM.  Seems hacky but effective.

 

I guess this is more a general discussion topic but I would like to know how other people are incorporating NIPM into a CI workflow?  Or are you just standardizing some of your high level libraries so that the runner has a common set on it?  Also if anybody from NI is listening how are we supposed to use this as part of CI, is there a good whitepaper? 

 

0 Kudos
Message 1 of 4
(2,592 Views)

Do you also mean like building package for the NIPM in CI? because that's what I'm doing and with the full support of CLI in the NIPM it works really well.

 

Installing packages on each build is not something we do, because it just takes too much time.

0 Kudos
Message 2 of 4
(2,553 Views)

No I am talking about automatically installing the correct version of a NIPM package on a runner.  I want to know how to replicate clicking on the SystemLink LabVIEW toolkit using the script. I know it installs more than one feed. How do I tease that info out and then turn it into a script. 

0 Kudos
Message 3 of 4
(2,522 Views)

I did some thinkering and I think I have found a way to achieve what you want, the only thing you need to do is list the feeds for the systemlink versions you want to install. in this case I tried to install systemlink toolkit 19.6 and for that I found out that the feed url is:

https://download.ni.com/support/nipkg/products/ni-s/ni-systemlink-labview-support/19.6/released

 

so on the command line I added this feed:

nipkg feed-add https://download.ni.com/support/nipkg/products/ni-s/ni-systemlink-labview-support/19.6/released

 

and after that I made sure the package could be found, so I listed all the packages and did a regex on the package name

 

nipkg ls | findstr "ni-systemlink-labview-support"

 

This will now list the package

 

If you want to install that package with accepting the EULA's and no user interaction you do something like this

 

nipkg install --accept-eulas -y ni-systemlink-labview-support

 

This may need some thinkering but this is a good basis to start from


0 Kudos
Message 4 of 4
(2,389 Views)