Skip to content

GitHub Packages

Your packages,
at home with their code

With GitHub Packages you can safely publish and consume packages within your organization or with the entire world.

See pricing
bash
$  




              
$ docker login docker.pkg.github.com --username phanatic
Logged in successfully

$ docker tag app docker.pkg.github.com/phanatic/repo/app:1.0

$ docker push docker.pkg.github.com/phanatic/repo/app:1.0.0
1.0.0: digest: sha256:631cb8...fc822c size: 1373
              
$ mvn deploy -Dregistry=https://maven.pkg.github.com/phanatic -Dtoken=$GH_TOKEN
Uploaded: https://maven.pkg.github.com/phanatic/com/github/app/1.0/github_api-1.0.pom (2 KB at 1.0 KB/sec)
              
$ nuget source Add -Name "GitHub" -Source "https://nuget.pkg.github.com/phanatic/octokit/index.json" -UserName phanatic
$ nuget pack
$ nuget push "octokit.net.1.0.0.nupkg" -Source "GitHub"
Your package was pushed
              
$ echo ":github: Bearer ${GH_TOKEN}" >> ~/.gem/credentials
$ gem build github_api.gemspec
$ gem push --key github --host https://rubygems.pkg.github.com/phanatic/github_api github_api-1.0.0.gem
Successfully registered gem: github_api (1.0.0)
            
Read developer docs
npm gradle docker nuget rubygems maven

Publish privately for
your team, or publicly for the
open source community

Discover and publish public and private packages in one place. Then seamlessly use and reuse any package as a dependency in a project by downloading it straight from GitHub.

Use the same secure login
for your code and packages

Store your packages in the same secure environment as your source code, all protected by your GitHub credentials.

Discover public and private
packages, all in one place

Explore and reuse your organization’s private packages alongside public packages in GitHub.

Get fast and reliable
downloads via a global CDN

GitHub Packages is built with the latest edge caching via a global CDN to deliver great performance, no matter where your builds run.

Integrate with your workflows

With a full API and webhooks support, you can extend your workflows to work with GitHub Packages.

Manage permissions in one place

Packages in GitHub inherit the permissions of the repository, and you no longer need to manage third party solutions and sync team permissions across systems.

Learn details from package insights

Packages hosted on GitHub include all the information you need—package contents, download statistics, version history, and more.

What our customers are saying

Yarn logo
“As a Yarn maintainer I’m excited to see GitHub offer a new package registry solution, and I’m looking forward to leverage its capabilities in our future releases.”

Maël Nison

Yarn maintainer

Providence Health & Services logo
“GitHub Package Registry has allowed us to spend more time solving hard problems, and improving patient care. Since it uses the same permissions and security as the rest of GitHub, we spend less time managing multiple accounts, ACLs, and on-premise infrastructure, which leaves us with more time to code what matters!”
    • on: milestone
    • on: issue_comment
    • on: check_run
    • on: deployment
    • on: label
    • on: project_card
    • on: pull_request_comment
    • on: release
    • on: repository_vulnerability_alert
    • on: milestone
    • on: public
    • on: repository_dispatch
    • on: issue_comment
    • on: fork
    • on: deployment_status
    • on: page_build
    • on: watch
    • on: pull_request
    • on: delete
    • on: issue_comment
    • on: issues
    • on: check_suite
    • on: scheduled
    • on: pull_request_review
    • on: project_column
    • on: status
    • on: project
    • on: pull_request
    • on: delete
    • on: issue_comment
    • on: push
    • on: page_build
    • on: watch

Automate it all with GitHub Actions

Simplify publishing

Use Actions to automatically publish new package versions to GitHub Packages.

Trigger package installs

Run your CI/CD with Actions, and install packages and images hosted on GitHub Packages or your preferred registry of record.

Streamline your workflow

Use the same GITHUB_TOKEN for all automated package uploads and downloads through Actions.

    • on: milestone
    • on: issue_comment
    • on: check_run
    • on: deployment
    • on: label
    • on: project_card
    • on: pull_request_comment
    • on: release
    • on: repository_vulnerability_alert
    • on: milestone
    • on: public
    • on: repository_dispatch
    • on: issue_comment
    • on: fork
    • on: deployment_status
    • on: page_build
    • on: watch
    • on: pull_request
    • on: delete
    • on: issue_comment
    • on: issues
    • on: check_suite
    • on: scheduled
    • on: pull_request_review
    • on: project_column
    • on: status
    • on: project
    • on: pull_request
    • on: delete
    • on: issue_comment
    • on: push
    • on: page_build
    • on: watch

Simple, pay-as-you-go pricing

Public repositories

Free

We love open source

Private repositories

  • Plan

    Storage

    Data transfer out
    within Actions

    Data transfer out
    outside of Actions

  • Free

    500MB

    Unlimited

    1GB

    per month

  • Pro

    1GB

    Unlimited

    5GB

    per month

  • Team

    2GB

    Unlimited

    10GB

    per month

  • Enterprise

    50GB

    Unlimited

    100GB

    per month

GitHub Packages is not available for private repos in legacy per-repository plans.
  • Additional storage

    $0.25

    per gigabyte

  • Additional data transfer out

    outside of Actions

    $0.50

    per gigabyte

download

All data transfer is unlimited within the GitHub Actions experience.
Data transfers from local or third-party clients may require payment.

Start publishing your
packages to GitHub

Read more about GitHub Packages and how your team can safely publish and consume packages within GitHub. Check out the documentation.

You can’t perform that action at this time.