ドキュメントには頻繁に更新が加えられ、その都度公開されています。本ページの翻訳はまだ未完成な部分があることをご了承ください。最新の情報については、英語のドキュメンテーションをご参照ください。本ページの翻訳に問題がある場合はこちらまでご連絡ください。

Configuring NuGet for use with GitHub Packages

GitHub パッケージレジストリ にパッケージを公開するよう NuGet を設定し、GitHub パッケージレジストリ に保存されたパッケージを依存関係として .Net プロジェクトで利用できます。

GitHub パッケージレジストリ is available with GitHub Free, GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. GitHub パッケージレジストリ is unavailable for per-repository plans, which are legacy billing plans. For more information, see "GitHub's products."

ここには以下の内容があります:

GitHub パッケージレジストリ への認証を行う

You need an access token to publish, install, and delete packages in GitHub パッケージレジストリ. You can use a personal access token to authenticate with your username directly to GitHub パッケージレジストリ or the GitHub API. You can use a GITHUB_TOKEN to authenticate using a GitHub Actions workflow.

Authenticating with a personal access token

You must use a personal access token with the appropriate scopes to publish and install packages in GitHub パッケージレジストリ. For more information, see "About GitHub パッケージレジストリ."

To authenticate to GitHub パッケージレジストリ with NuGet, add GitHub パッケージレジストリ as a Source to the nuget client. Replace USERNAME with the name of your user account on GitHub, TOKEN with your personal access token, and OWNER with the name of the user or organization account that owns the repository containing your project. 大文字はサポートされていないため、仮にGitHubのユーザあるいはOrganization名が大文字を含んでいても、リポジトリオーナーには小文字を使わなければなりません。

nuget sources Add -Name "GPR" \
     -Source "https://nuget.pkg.github.com/OWNER/index.json" \
     -UserName USERNAME -Password TOKEN

Authenticating with the GITHUB_TOKEN

If you are using a GitHub Actions workflow, you can use a GITHUB_TOKEN to publish and consume packages in GitHub パッケージレジストリ without needing to store and manage a personal access token. For more information, see "Authenticating with the GITHUB_TOKEN."

パッケージを公開する

You can publish a package to GitHub パッケージレジストリ when you specify the Source as GPR. GitHub パッケージレジストリ will use the same value for OWNER that you authenticate with. For more information on creating your package, see "Create and publish a package" in the Microsoft documentation.

After you publish a package, you can view the package on GitHub. For more information, see "Viewing packages."

  1. Authenticate to GitHub パッケージレジストリ. 詳しい情報については「GitHub パッケージレジストリへの認証を行う」を参照してください。

  2. Use the nuget command, replacing PACKAGE with the name of your package.

    $ nuget push PACKAGE.nupkg -Source "GPR"

Publishing multiple packages to the same repository

When you publish a package, by default GitHub パッケージレジストリ uses the package name to determine the GitHub repository containing the package. For example, a package named odata-client would be published to the OWNER/odata-client repository.

If you would like to change the repository containing the package, or publish multiple packages to the same repository, you can include the URL to the GitHub repository in the repository field of the package's .nuspec file. GitHub は、パッケージ名の代わりに、このフィールドを元にしてリポジトリを照合します。 If you have a .csproj file created by Visual Studio, the version you use in your .nuspec file must match the version in your .csproj file.

  1. Add the URL of the GitHub repository in the repository field of the package's .nuspec file.

    <?xml version="1.0" encoding="utf-8"?>
    <package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
        <metadata>
        <id>sample</id>
        <version>1.2.3</version>
        <authors>Kim Abercrombie, Franck Halmaert</authors>
        <description>Sample exists only to show a sample .nuspec file.</description>
        <language>en-US</language>
        <repository type="git" url="https://github.com/my-org/my-custom-repo"/>
        </metadata>
    </package>
  2. Create the package using the configuration in the package's .nuspec file.

    $ dotnet pack --configuration Release
  3. Publish the new package to GitHub, replacing PACKAGE with the name of your package.

    $ nuget push PACKAGE.nupkg -Source "GPR"

パッケージをインストールする

Using packages from GitHub in your project is similar to using packages from nuget.org. Add your package dependencies to your package.config, specifying the package name and version. For more information on using a packages.config in your project, see "Working with NuGet packages" in the Microsoft documentation.

  1. Authenticate to GitHub パッケージレジストリ. 詳しい情報については「GitHub パッケージレジストリへの認証を行う」を参照してください。

  2. Configure packages.config to use the package, replacing the octo-app package with your package dependency.

     <?xml version="1.0" encoding="utf-8"?>
       <packages>
         <package id="octo-app" version="3.1.1" />
       </packages>
     </xml>
  3. すべてのパッケージを復元します。

    $ nuget restore

参考リンク

担当者にお尋ねください

探しているものが見つからなかったでしょうか?

弊社にお問い合わせください