 Hi, everyone. I'm Henry Dixon, Lead PM with the Azure DevOps Artifacts team. I'm here to help you get started with Artifacts by introducing you to some of our features. Today, I will help us walk us through the following scenarios. First, setting up a package feed to provide our teams with the ability to control our packages and their dependencies. Next, I will then add a task to my build pipeline to upload packages into our new team feed while also describing some of the benefits of having this feed. Finally, I will show how to quickly consume packages from the feeds into a new solution. Let's go ahead and get started with the demo. I've already created a project for my team and I transferred my code into a repository. I've done a couple builds to verify that my code is ready. However, I do have some packages that I want my team to consume so I want to create a team feed so I can control our dependencies. Luckily for me, Azure Artifacts is now installed by default, and then I'll click on New Feed. Input a new team name, Team Feed, and hit Create. This will create a feed for my team to use. They can be assigned permissions to either consume from or contribute to the feed. I'm going to leave the defaults for now, which means that all product members can do both. Additionally, I will leave the default upstream to use packages published to this feed, and I'll touch on that a little more later. I'll go ahead and create it now. Next, I want to add the feed to my list of package sources. So I'll click the Connect to Feed button or the tab in the header. A pop-up is now shown that provides me the URLs that I need to continue. Since the packages I'm creating are Nougat, I'm going to copy this first one and open up my development instance in Visual Studio. Now, as I'm in Visual Studio, I will go to my project. The place where I need to go can be found under Tools, Nougat Package Manager, Manage Nougat Packages for Solution, or I can right-click on my solution and get there the same way. From here, I get a list of packages available from Nougat.org, the default feed for our Nougat packages. However, I want to ensure that my feed comes first and my team gets items from that feed. So I click on the gear icon at the top right, which opens up my package sources settings area. Since I'm adding a new source feed, I will click on the plus sign and give it a name, and then I will paste in the source information into the source field like so. I'll then remove this, the check mark for Nougat.org, because I want the feed to use as primary, and I've enabled Nougat.org as an upstream, which I'll touch on later. Once I do this, I am good to go. Okay. The next step is to run a build and place a package in that feed. Therefore, I can come back to my build pipeline and add Nougat task to push the packages into the feed. This will help update the packages in the team feed as time goes on. I now go back to the Azure DevOps and click on the edit of the build pipeline that I want to change. Again, I'm adding a task. So I hit the plus sign to find a task to add to my build. I search for Nougat and pick the first Nougat task. Since I'm pushing new Nougat packages, I want to move it to a place after my build processes. Then I switch the command to push, and then I update the target feed to the feed I've created for my team. To validate that this works, I can either save and queue, or since I have CI configured on this pipeline, I can wait until I check in a code change. Since I'm eager to validate this for my team, I will choose save and queue. This goes ahead and kicks off a build that I can then see the progress of. While the build is running, I want to tell of the reasons why I'm creating a T feed or even a set of feeds is a good thing. Many of you may be content with just using the default public sources of Nougat or npm feeds at nougat.org or npmjs.com respectively. These are great and we have listed them in our feeds as public upstream sources or public package providers. Without upstreams, if the public site endpoints are interrupted for any reason, DDS, other issues, your build will have problems compiling until the public site returns to functionality. Another example is much more interesting. Two years ago, a popular package was a low-level dependency for many packages in use today. The package owner pulled that package, causing upstream issues for packages listing it as a dependency. Thousands of packages and thousands of builds were impacted by this. In both of these cases, feeds with upstreams enables help developers maintain productivity. A feed will not only host a package you create, but also the dependent packages from the public upstream and stored as a saved copy. So while the second incident caused quite a bit of problems for developers, teams using feeds with upstreams enabled would still be able to use their packages since the removed package would still be resident in the teams feed. Okay. Let's go ahead and check on my build. I believe it's complete. Okay. It looks like my build is complete. So I should be able to go and see the artifacts now within the team feed. Yes, it looks like the artifacts were just published into the team feed. Great. So what we're going to do now is we're going to consume a package, one of these new packages from another solution. So I'll go back to Visual Studio and change to a different solution. So now that I've changed to a different solution, open it up in the solution explorer. Again, I can get there from tools, new get package manager, manage packages for solution. But since I've already been there before, I'll go ahead and right-click and manage my new get packages. Now I see that in the new get package manager, I have the ones that are installed, but I can now browse, select the package source and select my team feed. Now from here, I now see the new team feed packages that are available to me to install. I just need to install my Dixon look and listen. I click on the install and it now comes back into my solution for me to go ahead and go. Thanks for watching this introductory video. We hope this helps you get up to speed with producing and consuming packages and creating package feeds for your teams. While this video targeted new get, we have a ton of information around NPM, Gradle, and Maven packages, with more protocols being onboarded all the time. Please feel free to ask myself or my team questions on Twitter, go to the Azure DevOps website for more information, or look us up on your user voice package management. I'm Henry Dixon with the Azure DevOps Artifacts team. Happy coding.