Define Azure Artifacts N Package Manager
Package Management/Package manager
Package manager is also referred as a package management system. A tool.
What exactly a package manager does.
PM will allow user to install, upgrade, configure and manage software packages. So in today's world, in more that 90% of application that we develop, we use some sort of package manager. Like in a .Net Application
- PM will help you manage NPM packages.
- PM will help you configure NPM packages.
- PM will allow developers to easily update remove packages from their project.
The same is true for Java applications. To work with Java applications, you will need to use a package manager such as Gradle or Maven, which will assist you in managing public library packages. They are build tool, but Maven has a feature of managing packages also. Same goes with npm, same goes with Python. You'll be using pip.
Few Package Manager
Azure Artifacts
Use Case - if we decided to upgrade to Newer Versions
Just imagine that you are utilizing a public library from NuGet of 2.0 version. At this point, you have established your pipelines. You possess a build pipeline.
What our Build pipeline do- when you execute your build
- Add Task for NuGet installation.
- Add Task for NuGet restore.This package is obtained from Nuget.org.
Then, you are able to construct your infrastructure.
Decided to Upgrade
Assume that this 2.0 has been transformed into 3.0 or 2.0 is entirely obsolete.
But your application is not dependent with the newer version of it 3.0. So if you fetch this 3.0 and if you try to run your build, there is a great chance that your build pipeline starts failing, your application will start failing.
Solution
introduce our own feed, our own location. feed, it's basically a location wherein you can keep your own libraries.
Lets create feed for NuGet 2.0
When we initially obtain the public library 2.0 product to construct our application, everything is in order. Upon the effective completion of the build, we have the option to fully package these libraries and publish it to your personal feed. Therefore, this is your personal location, and you are currently responsible for the 2.0 version.
Situation 1: Version 2.0 is absolute and remove from public NuGet Repp
What we can do at this time. Now when we first fetch the public library package for building my application after obsolete, our pipeline fails. But instead from public we start getting reference from our local feed of 2.0, the package and our build will be successful.
How to create this feed?
We can create this feed using Azure Artifact.
Azure artifact is a tool which will help
- you private feeds created
- You store packages.
- Public library packages.
- You to create your own custom packages and store into Azure Artifact.
- It can very well integrate with your CI CD pipeline.
- You can also share your packages with other teammates.
Azure artifact is an extension that may make it easier to discover, install, and publish NuGet, npm, and Maven packages in Azure. It deeply integrates with hub like package management. Seamless part of your existing workflow.
You can easily integrate this with your CI CD pipeline using Azure Artifact.
Using Artifact we can
- We can share create host share packages.
- we can share code across team manage all packages type like Maven, npm, Gradle, etc..
Benefit of Artifact
- Keep Artifact organized
- Integrate seamless package handling into your CI/CD Pipelines
- Protect your packages
Similar tool: Jfrog Artifactory.