Create your own package server (npm, nuget, ..)

Tram Ho

Introduce

Have you ever wondered when you run the command " npm install " (NodeJS) or " Install-package " (.NET) where the package comes from? It must have been obtained from the npm or nuget server, right. In product projects, building a package server is necessary so that we can build our own packages, only within the company have access. Or building a separate package server locally is fine. Recently, I tried using ProGet to create a separate package server locally. It's really surprising that just install is ready to use, the software is so good today ? Besides ProGet, there are other tools like Chocolatey , Bower .

ProGet

Introduce

ProGet helps you package applications and components so you can ensure your software is built only once, and then deployed across environments. This means everyone can be certain that what goes to production is exactly what was built and tested.

ProGet helps you package your applications and components, and ensure your software is built once, and deployed anywhere. This means that we are sure the package installed on production is the package that has been built and tested.

Build server with ProGet

Download proget at https://inedo.com/proget/download Currently you can install on windows or if you do not have windows, you can use docker. I use windows so install windows for it quickly.

Database ProGet used is SQL Server, so you must install SQL Server first. Download here if you do not have https://www.microsoft.com/en-us/sql-server/sql-server-downloads Note you need connectionString to connect to SQL Server.

After that, a simple next next next, it has finished building for you from A to Z cmnr. Finally, ProGet has already installed for you a local Server, with URL type localhost: 1234 Log in to ProGet using the Admin / Admin user that ProGet has created for you.

Discover

Feed: https://docs.inedo.com/docs/proget/core-concepts/feeds

Think of a feed like a private 'app store', but for your own applications and components. Users can easily see what's available and download desired packages, and old and unused packages can be automatically cleaned.

Basically the feed is like an 'app store' and contains your packages in it. You can see in the picture below that I have 4 packages in this feed. It's like there are 4 apps in my app store.

Package: https://docs.inedo.com/docs/proget/core-concepts/packages

Think of a package like a uniform-sized shipping box with uniform, machine- and human-readable labels describing the package. Inside the box are the things you want to deliver, and the box may even include assembly, installation, delivery or other instructions on what to do with the contents.

A package is like a box that contains everything like the content and description of the package. Generally it is something that you want to install, complete with instructions for.

To create a package, you just need to click the button "Create Package" and then update the file. For example, if you create a nuget package, just update the .nupkg, npm file, I haven't tried it yet ✌️

The detailed interface of the package page is as follows, with the complete description for the package, listing all the versions of the package, there is a command so you just need to copy what is install package. Too easy.

In addition, there are sections like Asset (a folder of files like on S3), Container (like docker registry, managing docker).

Conclusion

In general, this ProGet is quite good, so I want to rewrite the article to remember and share with everyone. Thank you for reading.

Share the news now

Source : Viblo