{"meta":{"title":"GitHub 패키지 소개","intro":"GitHub Packages 는 소프트웨어 패키지를 비공개 또는 공개적으로 호스트하고 프로젝트의 종속성으로 패키지를 사용할 수 있는 소프트웨어 패키지 호스팅 서비스입니다.","product":"GitHub Packages","breadcrumbs":[{"href":"/ko/enterprise-server@3.22/packages","title":"GitHub Packages"},{"href":"/ko/enterprise-server@3.22/packages/learn-github-packages","title":"GitHub Packages 알아보기"},{"href":"/ko/enterprise-server@3.22/packages/learn-github-packages/introduction-to-github-packages","title":"서문"}],"documentType":"article"},"body":"# GitHub 패키지 소개\n\nGitHub Packages 는 소프트웨어 패키지를 비공개 또는 공개적으로 호스트하고 프로젝트의 종속성으로 패키지를 사용할 수 있는 소프트웨어 패키지 호스팅 서비스입니다.\n\n<!-- TRANSLATION_FALLBACK prop=markdown type=ParseError line=1 col=31 msg=\"tag 'else' not found\" -->\n<!-- 2148AF7B-5FF8-4B28-A808-D692FEE2225A -->\n\n## About GitHub Packages\n\nGitHub Packages is a platform for hosting and managing packages, including containers and other dependencies. GitHub Packages combines your source code and packages in one place to provide integrated permissions management, so you can centralize your software development on GitHub.\n\nYou can integrate GitHub Packages with GitHub's APIs, GitHub Actions, and webhooks to create an end-to-end DevOps workflow that includes your code, CI, and deployment solutions.\n\nGitHub Packages offers different package registries for commonly used package managers, such as npm, RubyGems, Apache Maven, Gradle, Docker, and NuGet.  For more information on the different package registries that GitHub Packages supports, see [Working with a GitHub Packages registry](/en/enterprise-server@3.22/packages/working-with-a-github-packages-registry).\n\nYou can view a package's README, as well as metadata such as licensing, download statistics, version history, and more on GitHub. For more information, see [Viewing packages](/en/enterprise-server@3.22/packages/learn-github-packages/viewing-packages).\n\nFor more information about the configuration of GitHub Packages on GitHub Enterprise Server, see [Getting started with GitHub Packages for your enterprise](/en/enterprise-server@3.22/admin/configuring-packages/getting-started-with-github-packages-for-your-enterprise).\n\n### Overview of package permissions\n\nThe permissions for a package are either inherited from the repository where the package is hosted, or can be defined for specific users or organizations. Some registries only support permissions inherited from a repository. For a list of these registries, see [About permissions for GitHub Packages](/en/enterprise-server@3.22/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages). For more information on package access, see [Configuring a package's access control and visibility](/en/enterprise-server@3.22/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility).\n\n### Overview of package visibility\n\nYou can publish packages in a public repository (public packages) to share with everyone on your enterprise, or in a private repository (private packages) to share with collaborators or an organization.\n\n## Supported clients and formats\n\n<!-- If you make changes to this feature, check whether any of the changes affect languages listed in /get-started/learning-about-github/github-language-support. If so, please update the language support article accordingly. -->\n\nGitHub Packages uses the native package tooling commands you're already familiar with to publish and install package versions.\n\n### Support for package registries\n\n| Language   | Description                                            | Package format                       | Package client |\n| ---------- | ------------------------------------------------------ | ------------------------------------ | -------------- |\n| JavaScript | Node package manager                                   | `package.json`                       | `npm`          |\n| Ruby       | RubyGems package manager                               | `Gemfile`                            | `gem`          |\n| Java       | Apache Maven project management and comprehension tool | `pom.xml`                            | `mvn`          |\n| Java       | Gradle build automation tool for Java                  | `build.gradle` or `build.gradle.kts` | `gradle`       |\n| .NET       | NuGet package management for .NET                      | `nupkg`                              | `dotnet` CLI   |\n| N/A        | Docker container management                            | `Dockerfile`                         | `Docker`       |\n\n> \\[!NOTE]\n> When enabling the Docker registry, we highly recommend also enabling subdomain isolation. For more information, see [Enabling subdomain isolation](/en/enterprise-server@3.22/admin/configuring-settings/hardening-security-for-your-enterprise/enabling-subdomain-isolation).\n\nFor more information about configuring your package client for use with GitHub Packages, see [Working with a GitHub Packages registry](/en/enterprise-server@3.22/packages/working-with-a-github-packages-registry).\n\n## Authenticating to GitHub Packages\n\n> \\[!NOTE]\n> GitHub Packages only supports authentication using a personal access token (classic). For more information, see [Managing your personal access tokens](/en/enterprise-server@3.22/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens).\n\nYou need an access token to publish, install, and delete private, internal, and public packages.\n\nYou can use a personal access token (classic) to authenticate to GitHub Packages or the GitHub API. When you create a personal access token (classic), you can assign the token different scopes depending on your needs. For more information about packages-related scopes for a personal access token (classic), see [About permissions for GitHub Packages](/en/enterprise-server@3.22/packages/learn-github-packages/about-permissions-for-github-packages#about-scopes-and-permissions-for-package-registries).\n\nTo authenticate to a GitHub Packages registry within a GitHub Actions workflow, you can use:\n\n* `GITHUB_TOKEN` to publish packages associated with the workflow repository.\n* A personal access token (classic) with at least `read:packages` scope to install packages associated with other private repositories (`GITHUB_TOKEN` can be used if the repository is granted read access to the package. See [Configuring a package's access control and visibility](/en/enterprise-server@3.22/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility)).\n\nFor more information about `GITHUB_TOKEN` used in GitHub Actions workflows, see [Use GITHUB\\_TOKEN for authentication in workflows](/en/enterprise-server@3.22/actions/tutorials/authenticate-with-github_token#using-the-github_token-in-a-workflow).\n\n## Managing packages\n\nYou can delete a package in the GitHub user interface or using the REST API. For more information, see [Deleting and restoring a package](/en/enterprise-server@3.22/packages/learn-github-packages/deleting-and-restoring-a-package) and the [REST API endpoints for packages](/en/enterprise-server@3.22/rest/packages). For certain registries, you can use GraphQL to delete a version of a private package.\n\nYou cannot use the GitHub Packages GraphQL API with registries that support granular permissions. For the registries that **only** support repository-scoped permissions, and can be used with the GraphQL API, see [About permissions for GitHub Packages](/en/enterprise-server@3.22/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages).\n\nWhen you use the GraphQL API to query and delete private packages, you must use the same personal access token (classic) you use to authenticate to GitHub Packages.\n\nFor more information, see [Deleting and restoring a package](/en/enterprise-server@3.22/packages/learn-github-packages/deleting-and-restoring-a-package) and [Forming calls with GraphQL](/en/enterprise-server@3.22/graphql/guides/forming-calls-with-graphql).\n\nYou can configure webhooks to subscribe to package-related events, such as when a package is published or updated. For more information, see the [Webhook events and payloads](/en/enterprise-server@3.22/webhooks/webhook-events-and-payloads#package).\n\n## Contacting support\n\nIf you need support for GitHub Packages, please contact your site administrators."}