이 문서의 적용 대상: ✔️ .NET 6 SDK 이상 버전
이름
dotnet nuget push - 서버에 패키지를 푸시하고 게시합니다.
개요
dotnet nuget push [<ROOT>] [--allow-insecure-connections] [-d|--disable-buffering] [--force-english-output]
[--interactive] [-k|--api-key <API_KEY>] [-n|--no-symbols]
[--no-service-endpoint] [-s|--source <SOURCE>] [--skip-duplicate]
[-sk|--symbol-api-key <API_KEY>] [-ss|--symbol-source <SOURCE>]
[-t|--timeout <TIMEOUT>]
[--configfile <FILE>]
dotnet nuget push -h|--help
설명
이 dotnet nuget push 명령은 패키지를 서버에 푸시하고 게시합니다. 푸시 명령은 시스템의 NuGet 구성 파일 또는 구성 파일 체인에 있는 서버 및 자격 증명 세부 정보를 사용합니다. 구성 파일에 대한 자세한 내용은 NuGet 동작 구성을 참조하세요. NuGet의 기본 구성은 %AppData%\NuGet\NuGet.config (Windows) 또는 $HOME/.nuget/NuGet/NuGet.Config (Linux/macOS)를 로드한 다음 드라이브의 루트에서 시작하여 현재 디렉터리에서 끝나는 nuget.config 또는 .nuget\nuget.config 로드하여 가져옵니다.
이 명령은 기존 패키지를 푸시합니다. 패키지를 만들지 않습니다. 패키지를 만들려면 .를 사용합니다 dotnet pack.
계층적 폴더 구조
이 명령은 성능을 최적화하는 데 권장되는 계층적 폴더 구조에 패키지를 저장할 수 있습니다. 계층적 폴더 구조에 있는 피드에 패키지가 하나 이상 있는 경우처럼 nuget add 로컬 폴더(피드)에 게시할 때 패키지를 계층적 폴더 구조에 저장합니다. 피드에 이미 구조화된 계층적 폴더 패키지가 dotnet nuget push 있는 경우 해당 구조를 적용합니다. 따라서 NuGet CLI 대신 .NET CLI를 사용하여 로컬 피드에 게시하려면 다음을 수행합니다.
- 첫 번째 패키지를 게시하기 전에%userprofile% .nuget\packages에서 전역 패키지 폴더로 이동하여 패키지 ID의 루트 폴더를 선택합니다. .NET 표준 또는 ASP.NET 같이 프레임워크의 일부가 아닌 패키지일 수 있습니다.
- 선택한 패키지 폴더를 로컬 피드의 루트 폴더에 복사합니다.
- 패키지를 로컬 피드에 게시하는 데 사용합니다
dotnet nuget push. - 이제 이전에 복사한 폴더를 삭제할 수 있으며 로컬 피드에 자유롭게
dotnet nuget push게시할 수 있습니다.
또는 첫 번째 패키지에 NuGet CLI를 사용한 다음 나머지 패키지에 사용할 dotnet nuget push 수 있습니다. 자세한 내용은 로컬 피드를 참조하세요.
주장들
ROOT푸시할 패키지의 파일 경로를 지정합니다.
옵션
--allow-insecure-connectionsHTTP 원본으로 푸시할 수 있습니다(안전하지 않음).
-d|--disable-buffering메모리 사용량을 줄이기 위해 HTTP(S) 서버로 푸시할 때 버퍼링을 사용하지 않도록 설정합니다.
--force-english-output고정 영어 기반 문화권을 사용하여 애플리케이션을 강제로 실행합니다.
-
-?|-h|--help명령을 사용하는 방법에 대한 설명을 출력합니다.
-
--interactive명령이 중지되고 사용자 입력 또는 작업을 대기할 수 있도록 허용합니다. 예를 들어 인증을 완료합니다.
-k|--api-key <API_KEY>서버의 API 키입니다.
-n|--no-symbols기호를 푸시하지 않습니다(있는 경우에도).
--no-service-endpoint원본 URL에 "api/v2/package"를 추가하지 않습니다.
-s|--source <SOURCE>서버 URL을 지정합니다. NuGet은 UNC 또는 로컬 폴더 원본을 식별하고 HTTP를 사용하여 푸시하는 대신 파일을 복사합니다.
중요합니다
NuGet 3.4.2부터는 NuGet 구성 파일이 값을 지정하지 않는 한 필수 매개 변수입니다
DefaultPushSource. 자세한 내용은 참조 NuGet 동작 구성을 참조하세요.--skip-duplicate여러 패키지를 HTTP(S) 서버에 푸시하는 경우 다른 푸시를 계속할 수 있도록 409 충돌 응답을 경고로 처리합니다.
-sk|--symbol-api-key <API_KEY>기호 서버의 API 키입니다.
-ss|--symbol-source <SOURCE>기호 서버 URL을 지정합니다.
-t|--timeout <TIMEOUT>서버로 푸시할 시간 제한(초)을 지정합니다. 기본값은 300초(5분)입니다. 0을 지정하면 기본값이 적용됩니다.
--configfile사용할 NuGet 구성 파일(nuget.config)입니다. 지정된 경우 이 파일의 설정만 사용됩니다. 지정되지 않으면 현재 디렉터리의 구성 파일의 계층 구조가 사용됩니다. 자세한 내용은 일반적인 NuGet 구성을 참조하세요.
예시
API 키를 사용하여 NuGet 구성 파일에 지정된 기본 푸시 소스로 foo.nupkg 를 푸시합니다.
dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a공식 NuGet 서버에 foo.nupkg 를 푸시하고 API 키를 지정합니다.
dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a -s https://api.nuget.org/v3/index.json사용자 지정 푸시 소스에
https://customsource를 푸시하고 API 키를 지정합니다.dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a -s https://customsource/NuGet 구성 파일에 지정된 기본 푸시 소스에 foo.nupkg 를 푸시합니다.
dotnet nuget push foo.nupkgfoo.symbols.nupkg를 기본 기호 원본으로 푸시합니다.
dotnet nuget push foo.symbols.nupkg360초 시간 제한으로 NuGet 구성 파일에 지정된 기본 푸시 소스로 foo.nupkg 를 푸시합니다.
dotnet nuget push foo.nupkg --timeout 360현재 디렉터리의 모든 .nupkg 파일을 NuGet 구성 파일에 지정된 기본 푸시 원본으로 푸시합니다.
dotnet nuget push "*.nupkg"HTTP(S) 서버에서 409 충돌 응답이 반환되더라도 모든 .nupkg 파일을 NuGet 구성 파일에 지정된 기본 푸시 원본으로 푸시합니다.
dotnet nuget push "*.nupkg" --skip-duplicate현재 디렉터리의 모든 .nupkg 파일을 로컬 피드 디렉터리에 푸시합니다.
dotnet nuget push "*.nupkg" -s c:\mydirAzure Artifacts로 푸시하려면 Azure Artifacts의 푸시 설명서를 참조하세요.
.NET