Introduction

Completed

This module introduces you to GitHub Packages. It explores ways to control permissions and visibility, publish, install, delete and restore packages using GitHub.

GitHub Packages is a software package hosting service that allows you to host your packages, containers, and other dependencies. It's a central place to provide integrated permissions management and billing for software development on GitHub.

GitHub Packages can host:

  • npm.
  • RubyGems.
  • Apache Maven.
  • Gradle.
  • Docker.
  • NuGet.
  • GitHub's Container registry is optimized for containers and supports Docker and OCI images.

Screenshot of GitHub Packages registries, and support.

GitHub Packages give you the flexibility to control permissions and visibility for your packages. You can publish packages in a public or private repository. The permission can be inherited from the repository where the package is hosted or defined for specific user or organization accounts for packages in the container registry.

You can integrate GitHub Packages with GitHub APIs, GitHub Actions, and webhooks.

Learning objectives

After completing this module, students and professionals can:

  • Publish packages.
  • Install packages.
  • Delete and restore packages.
  • Configure access control and visibility.

Prerequisites

  • Understanding of what DevOps is and its concepts.
  • Familiarity with version control principles is helpful but isn't necessary.
  • Beneficial to have experience in an organization that delivers software.
  • You need to create a GitHub account at GitHub.com and a project for some exercises. If you don't have it yet, see: Join GitHub ยท GitHub. If you already have your GitHub account, create a new repository Creating a new repository - GitHub Docs.