Chapter 8: Managing Dependencies Using GitHub Packages
Using a package registry to manage your dependencies should be an absolute no-brainer. If you are writing .NET, you use NuGet, if you are writing JavaScript, it's probably npm, and if you are using Java, it's Maven or Gradle. And yet, I meet many teams that still use their filesystem or Git submodules to reuse code files in multiple code bases. Or they build assemblies and store them in source control. Moving to packages with semantic versioning is easy and cheap, and it boosts the quality and discoverability of your shared code.
In this chapter, I show you how you can use GitHub Packages to manage your internal dependencies like you manage your software supply chain. The main topics are as follows:
- GitHub Packages
- Using npm packages with Actions
- Using Docker with Packages
- Apache Maven, Gradle, NuGet, and RubyGems packages
Semantic Versioning
Semantic versioning is a formal convention for specifying...