NI Package Manager (NIPM)

cancel
Showing results for 
Search instead for 
Did you mean: 

Register NIPM Feed from Gitlab Repo

Hello, 

 

I would like to deploy all my LabVIEW packed libraries as packages on multiple test systems. 

For doing this, I have decided to use NI Package Manager Feeds.

 

These Feeds should contain all packages to be deployed and will be hosted on Gitlab.

Raul2203_0-1648646290867.png

 

Sorry about the above error pop-up that it is in German.

 

So, is it possible that NI Package Manager can register Feeds that are hosted on Gitlab as repositories?

Thanks!

 

Rahul

0 Kudos
Message 1 of 16
(3,095 Views)

I thought there was an old idea topic about this, however, I cannot find it. From what I remember, you could not do this because the gitlab/github links have redirections and NIPM did not allow that.

__________________________________
Bill Eisenhower
Certified LabVIEW & TestStand Developer
0 Kudos
Message 2 of 16
(3,078 Views)

Hi Bill,

Thank you for your response.


I think you are referring to this Idea.

NIPM: Allow feeds to use .nipkg files that are hosted on GitHub releases, Amazon Web Services, etc. ...

But seems like this Idea has not been implemented yet.

 

What can you suggest as a best practice to register feeds hosted on Gitlab in NIPM?
As a work-around I plan to clone my feeds locally and sync them periodically from repo and register the feeds in NIPM with the local repo paths.

Thanks in advance!

Rahul Nirhale
Certified LabVIEW Developer

0 Kudos
Message 3 of 16
(3,055 Views)

That is the idea I was looking for. Unfortunately I do not have a suggest for Gitlab. We just host the feed on an internal file share. Our NI Package build process uploads and registers the packages to it as part of our build.

__________________________________
Bill Eisenhower
Certified LabVIEW & TestStand Developer
0 Kudos
Message 4 of 16
(3,041 Views)

Hi Bill, 

We also plan to host the feed in a repo and clone this repo on a network drive which will be accessible on all our test systems.


It would be great if you could provide some insights on your Build process.
Do you have any tool which builds, publishes packages to the feed?
Do you use NI Feed Manager VI for publishing packages?

I also need to come up a tool which will automate the following tasks.

 

  • Build Packages with certain pre-defined attributes (Manufacturer, Type etc)
  • Publish package to a feed (Folder in network drive)
  • Push feed modifications to its repo

Thanks, 

Rahul Nirhale
Certified LabVIEW Developer

0 Kudos
Message 5 of 16
(2,981 Views)

We have been using a custom builder application written in LabVIEW that uses the NIPM API. It leverages the LabVIEW Build Specifications to build the NI Package, copies the package to a network folder, and uses the NIPM API to add the package to the appropriate feed. Our builder also automates the interactions with Perforce to store the updated .lvproj so we build with next version. Everything on your list if doable, just nothing off the shelf at the moment handles all of it. The Package Build specification does have an option to automatically add a package to feed on build. We did not use it as we are building several packages at once and want to publish only if all build successfully.

__________________________________
Bill Eisenhower
Certified LabVIEW & TestStand Developer
0 Kudos
Message 6 of 16
(2,977 Views)

Hi Bill, 

Thanks for short description about your custom builder.

 

"Our builder also automates the interactions with Perforce to store the updated .lvproj so we build with next version."
I am really not familiar with Perforce, can we not save .lvproj after building a new package with the AppBuilder API?
Or is there any other way we can do this?

Thank you.

Rahul Nirhale
Certified LabVIEW Developer


0 Kudos
Message 7 of 16
(2,885 Views)

The Builder API does not save the project. You have to use an invoke node on the project reference to save the project.

__________________________________
Bill Eisenhower
Certified LabVIEW & TestStand Developer
0 Kudos
Message 8 of 16
(2,875 Views)

Hi Bill, 

Thank you.
Now I know more about the Project invoke node and property node to Open, Close, Save project from LabVIEW.


But with the below topic I cannot go any further.

  • Build Packages with certain pre-defined attributes (Manufacturer, Type etc)

I could not find any AB_Class for "Package" like we have for EXE, PPL, DLL, InteropAssembly etc.

 

Could you please guide me how do I accomplish the above task with AppBuilder API?

 

Thanks, 

Rahul Nirhale
Certified LabVIEW Developer

 

0 Kudos
Message 9 of 16
(2,809 Views)

We have just used the generic Build of Build Specification to automate building any LabVIEW Project Build Specification Type. <vi.lib>\AppBuilder\AB_API_Simple\Build (project reference).vi

2022-06-09_09h13_54.png

To customize the Packages Category/Section outside of the drop-down options, you need to manually edit the value in the .lvproj file.

__________________________________
Bill Eisenhower
Certified LabVIEW & TestStand Developer
0 Kudos
Message 10 of 16
(2,802 Views)