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.
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?
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.
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.
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:
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