- GitLab NuGet 패키지용 엔드포인트 사용
- NuGet 패키지를 NuGet 패키지 레지스트리의 소스로 추가
- NuGet 패키지 게시
- 패키지 설치
- 패키지 삭제
- 심볼 패키지
- 지원되는 CLI 명령어
- 예제 프로젝트
- 문제 해결
패키지 레지스트리의 NuGet 패키지
- GitLab 12.8에서 도입되었습니다.
- [GitLab Premium]에서 GitLab Free로 이전되었습니다(13.3).
- 심볼 패키지 지원은 GitLab 14.1에서 추가되었습니다.
프로젝트의 패키지 레지스트리에 NuGet 패키지를 게시한 다음, 필요할 때 패키지를 의존성으로 사용할 수 있습니다.
패키지 레지스트리는 다음과 함께 작동합니다:
이러한 클라이언트가 사용하는 특정 API 엔드포인트에 대한 문서는 NuGet API documentation을 참조하세요.
NuGet를 설치하는 방법에 대해 알아보세요.
GitLab NuGet 패키지용 엔드포인트 사용
- GitLab 13.8에서 그룹 수준 엔드포인트가 도입되었습니다.
GitLab NuGet 패키지용 GitLab 엔드포인트를 사용하려면 옵션을 선택하세요:
- 프로젝트 수준: NuGet 패키지가 적고 GitLab 그룹 내에 없는 경우 사용합니다.
- 그룹 수준: 동일한 GitLab 그룹 내의 다양한 프로젝트에 많은 NuGet 패키지가 있는 경우 사용합니다.
패키지를 게시하는 등 몇 가지 기능은 프로젝트 수준 엔드포인트에서만 사용할 수 있습니다.
특정 NuGet 패키지 이름의 버전을 요청할 때, GitLab 패키지 레지스트리는 최근 300개의 버전까지 반환합니다.
문서화되지 않은 인증 방법을 제외하고 여타 인증 방법을 사용하지 마세요. 문서화되지 않은 인증 방법은 향후 제거될 수 있습니다.
NuGet 패키지를 NuGet 패키지 레지스트리의 소스로 추가
패키지 레지스트리에 패키지를 게시하고 설치하려면 패키지 레지스트리를 패키지 소스로 추가해야 합니다.
필수 사항:
- GitLab 사용자명.
- 개인 액세스 토큰 또는 배포 토큰. 리포지터리 인증을 위해:
- 소스의 이름.
-
엔드포인트 수준에 따라:
- 프로젝트 ID: 프로젝트 개요 페이지에서 찾을 수 있는 프로젝트 ID.
- 그룹 ID: 그룹 홈페이지에서 찾을 수 있는 그룹 ID.
이제 NuGet에서 다음과 같이 새 소스를 추가할 수 있습니다:
- NuGet CLI
- Visual Studio(Visual Studio) #add-a-source-with-visual-studio
- .NET CLI
- 구성 파일
- Chocolatey CLI
NuGet CLI를 사용하여 소스 추가
프로젝트 수준 엔드포인트
패키지 레지스트리에 NuGet 패키지를 게시하려면 프로젝트 수준 엔드포인트가 필요합니다. 또한 프로젝트에서 NuGet 패키지를 설치하려면 프로젝트 수준 엔드포인트가 필요합니다.
프로젝트 수준 NuGet 엔드포인트를 사용하려면 nuget
으로 패키지 레지스트리를 소스로 추가하세요:
nuget source Add -Name <source_name> -Source "https://gitlab.example.com/api/v4/projects/<your_project_id>/packages/nuget/index.json" -UserName <gitlab_username 또는 deploy_token_username> -Password <gitlab_personal_access_token 또는 deploy_token>
-
<source_name>
은 원하는 소스 이름입니다.
예:
nuget source Add -Name "GitLab" -Source "https://gitlab.example.com/api/v4/projects/10/packages/nuget/index.json" -UserName carol -Password 12345678asdf
그룹 수준 엔드포인트
그룹에서 NuGet 패키지를 설치하려면 그룹 수준 엔드포인트를 사용하세요.
그룹 수준 NuGet 엔드포인트를 사용하려면 nuget
으로 패키지 레지스트리를 소스로 추가하세요:
nuget source Add -Name <source_name> -Source "https://gitlab.example.com/api/v4/groups/<your_group_id>/-/packages/nuget/index.json" -UserName <gitlab_username 또는 deploy_token_username> -Password <gitlab_personal_access_token 또는 deploy_token>
-
<source_name>
은 원하는 소스 이름입니다.
예:
nuget source Add -Name "GitLab" -Source "https://gitlab.example.com/api/v4/groups/23/-/packages/nuget/index.json" -UserName carol -Password 12345678asdf
Visual Studio를 사용하여 소스 추가
프로젝트 수준 엔드포인트
패키지 레지스트리에 NuGet 패키지를 게시하려면 프로젝트 수준 엔드포인트가 필요합니다. 또한 프로젝트에서 NuGet 패키지를 설치하려면 프로젝트 수준 엔드포인트가 필요합니다.
프로젝트 수준 NuGet 엔드포인트를 사용하려면 Visual Studio로 패키지 레지스트리를 소스로 추가하세요:
- Visual Studio를 엽니다.
- Windows에서는 Tools > Options을 선택합니다. macOS에서는 Visual Studio > Preferences를 선택합니다.
- NuGet 섹션에서 Sources를 선택하여 NuGet 소스 디렉터리을 확인합니다.
- 추가를 선택합니다.
-
다음 필드를 완성합니다:
- 이름: 소스 이름.
-
소스:
https://gitlab.example.com/api/v4/projects/<your_project_id>/packages/nuget/index.json
, 여기서<your_project_id>
는 프로젝트 ID이고,gitlab.example.com
은 Domain 이름입니다.
- 저장을 선택합니다.
-
패키지에 액세스할 때 사용자명과 비밀번호를 입력해야 합니다:
- 사용자명: GitLab 사용자명 또는 배포 토큰 사용자명.
- 비밀번호: 개인 액세스 토큰 또는 배포 토큰을 입력합니다.
소스가 디렉터리에 표시됩니다.
경고가 표시되면 소스, 사용자명 및 비밀번호가 올바른지 확인하세요.
그룹 수준 엔드포인트
패키지를 그룹에서 설치하려면 그룹 수준 엔드포인트를 사용하십시오.
그룹 수준 NuGet 엔드포인트를 사용하려면 Visual Studio에서 패키지 레지스트리를 소스로 추가하세요:
- Visual Studio를 엽니다.
- Windows의 경우 도구 > 옵션을, macOS의 경우 Visual Studio > 기본설정을 선택합니다.
- NuGet 섹션에서 소스를 선택하여 NuGet 소스 디렉터리을 확인합니다.
- 추가를 선택합니다.
-
다음 필드를 완료하세요:
- 이름: 소스의 이름.
-
소스:
https://gitlab.example.com/api/v4/groups/<your_group_id>/-/packages/nuget/index.json
입니다. 여기서<your_group_id>
는 그룹 ID이고,gitlab.example.com
은 도메인 이름입니다.
- 저장을 선택합니다.
-
패키지에 액세스할 때 사용자 이름과 비밀번호를 입력해야 합니다.
- 사용자 이름: 귀하의 GitLab 사용자 이름 또는 배포 토큰 사용자 이름.
- 비밀번호: 귀하의 개인 액세스 토큰 또는 배포 토큰입니다.
소스가 디렉터리에 표시됩니다.
경고가 발생하면 소스, 사용자 이름 및 비밀번호가 올바른지 확인하세요.
.NET CLI로 소스 추가
프로젝트 수준 엔드포인트
NuGet 패키지를 패키지 레지스트리에 발행하려면 프로젝트 수준 엔드포인트가 필요합니다. NuGet 패키지를 프로젝트에서 설치하려면 프로젝트 수준 엔드포인트도 필요합니다.
프로젝트 수준 NuGet 엔드포인트를 사용하려면 nuget
으로 패키지 레지스트리를 소스로 추가하세요:
dotnet nuget add source "https://gitlab.example.com/api/v4/projects/<your_project_id>/packages/nuget/index.json" --name <소스_이름> --username <gitlab_사용자_이름 또는 배포_토큰_사용자_이름> --password <gitlab_개인_액세스_토큰 또는 배포_토큰>
-
<소스_이름>
은 원하는 소스의 이름입니다. -
--store-password-in-clear-text
는 운영 체제에 따라 필요할 수 있습니다.
예시:
dotnet nuget add source "https://gitlab.example.com/api/v4/projects/10/packages/nuget/index.json" --name gitlab --username carol --password 12345678asdf
그룹 수준 엔드포인트
그룹에서 NuGet 패키지를 설치하려면 그룹 수준 엔드포인트를 사용하세요.
그룹 수준 NuGet 엔드포인트를 사용하려면 nuget
으로 패키지 레지스트리를 소스로 추가하세요:
dotnet nuget add source "https://gitlab.example.com/api/v4/groups/<your_group_id>/-/packages/nuget/index.json" --name <소스_이름> --username <gitlab_사용자_이름 또는 배포_토큰_사용자_이름> --password <gitlab_개인_액세스_토큰 또는 배포_토큰>
-
<소스_이름>
은 원하는 소스의 이름입니다. -
--store-password-in-clear-text
는 운영 체제에 따라 필요할 수 있습니다.
예시:
dotnet nuget add source "https://gitlab.example.com/api/v4/groups/23/-/packages/nuget/index.json" --name gitlab --username carol --password 12345678asdf
구성 파일로 소스 추가
프로젝트 수준 엔드포인트
NuGet 패키지를 패키지 레지스트리에 발행하려면 프로젝트 수준 엔드포인트가 필요합니다. 프로젝트에서 NuGet 패키지를 설치하려면 프로젝트 수준 엔드포인트도 필요합니다.
.NET용 프로젝트 수준 패키지 레지스트리를 소스로 사용하려면 다음을 수행하세요:
- 프로젝트 루트에
nuget.config
라는 이름의 파일을 만듭니다. -
다음 내용을 추가하세요:
<?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <clear /> <add key="gitlab" value="https://gitlab.example.com/api/v4/projects/<your_project_id>/packages/nuget/index.json" /> </packageSources> <packageSourceCredentials> <gitlab> <add key="Username" value="%GITLAB_PACKAGE_REGISTRY_USERNAME%" /> <add key="ClearTextPassword" value="%GITLAB_PACKAGE_REGISTRY_PASSWORD%" /> </gitlab> </packageSourceCredentials> </configuration>
-
필요한 환경 변수를 구성하세요:
export GITLAB_PACKAGE_REGISTRY_USERNAME=<gitlab_사용자_이름 또는 배포_토큰_사용자_이름> export GITLAB_PACKAGE_REGISTRY_PASSWORD=<gitlab_개인_액세스_토큰 또는 배포_토큰>
그룹 수준 엔드포인트
그룹에서 패키지를 설치하려면 그룹 수준 엔드포인트를 사용하세요.
.NET용 그룹 수준 패키지 레지스트리를 소스로 사용하려면 다음을 수행하세요:
- 프로젝트 루트에
nuget.config
라는 이름의 파일을 만듭니다. -
다음 내용을 추가하세요:
<?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <clear /> <add key="gitlab" value="https://gitlab.example.com/api/v4/groups/<your_group_id>/-/packages/nuget/index.json" /> </packageSources> <packageSourceCredentials> <gitlab> <add key="Username" value="%GITLAB_PACKAGE_REGISTRY_USERNAME%" /> <add key="ClearTextPassword" value="%GITLAB_PACKAGE_REGISTRY_PASSWORD%" /> </gitlab> </packageSourceCredentials> </configuration>
-
필요한 환경 변수를 구성하세요:
export GITLAB_PACKAGE_REGISTRY_USERNAME=<gitlab_사용자_이름 또는 배포_토큰_사용자_이름> export GITLAB_PACKAGE_REGISTRY_PASSWORD=<gitlab_개인_액세스_토큰 또는 배포_토큰>
Chocolatey CLI로 소스 추가
Chocolatey CLI를 사용하여 소스 피드를 추가할 수 있습니다. Chocolatey CLI v1.x를 사용하는 경우 NuGet v2 소스 피드만 추가할 수 있습니다.
프로젝트 수준 엔드포인트 구성
NuGet 패키지를 패키지 레지스트리에 발행하려면 프로젝트 수준 엔드포인트가 필요합니다.
.NET용 프로젝트 수준 패키지 레지스트리를 소스로 사용하려면 다음을 수행하세요:
-
패키지 레지스트리를
choco
로 소스로 추가하세요:choco source add -n=gitlab -s "'https://gitlab.example.com/api/v4/projects/<your_project_id>/packages/nuget/v2'" -u=<gitlab_사용자_이름 또는 배포_토큰_사용자_이름> -p=<gitlab_개인_액세스_토큰 또는 배포_토큰>
NuGet 패키지 게시
필수 조건:
- 패키지 레지스트리를 NuGet 패키지의 소스로 추가합니다. 프로젝트 수준 엔드포인트를 설정합니다.
패키지를 게시할 때:
- GitLab.com의 패키지 레지스트리는 최대 5GB의 콘텐츠를 저장할 수 있습니다. 이 한계는 Self-managed GitLab 인스턴스에서 구성할 수 있습니다.
- 동일한 버전의 동일한 패키지를 여러 번 게시하는 경우, 각각의 연속적인 업로드는 별도의 파일로 저장됩니다. 패키지를 설치할 때 GitLab은 가장 최근 파일을 제공합니다.
- GitLab로 패키지를 게시하면 해당 패키지는 프로젝트의 사용자 인터페이스에 즉시 표시되지 않습니다. 패키지 처리에 최대 10분이 소요될 수 있습니다.
NuGet CLI를 사용하여 패키지 게시
필수 조건:
- NuGet CLI로 생성한 NuGet 패키지입니다.
- 프로젝트 수준 엔드포인트를 설정합니다.
다음 명령을 실행하여 패키지를 게시합니다:
nuget push <package_file> -Source <source_name>
-
<package_file>
은.nupkg
로 끝나는 패키지 파일명입니다. -
<source_name>
은 설치 중에 사용한 소스 이름입니다.
.NET CLI를 사용하여 패키지 게시
--api-key
로 패키지를 게시하는 기능은 GitLab 16.1에서 도입되었습니다.
필수 조건:
- .NET CLI로 생성한 NuGet 패키지가 있어야 합니다.
- 프로젝트 수준 엔드포인트를 설정합니다.
다음 명령을 실행하여 패키지를 게시합니다:
dotnet nuget push <package_file> --source <source_name>
-
<package_file>
은.nupkg
로 끝나는 패키지 파일명입니다. -
<source_name>
은 설정 중에 사용한 소스 이름입니다.
예시:
dotnet nuget push MyPackage.1.0.0.nupkg --source gitlab
username
과 password
대신 --api-key
옵션을 사용하여 패키지를 게시할 수 있습니다:
dotnet nuget push <package_file> --source <source_url> --api-key <gitlab_personal_access_token, deploy_token or job token>
-
<package_file>
은.nupkg
로 끝나는 패키지 파일명입니다. -
<source_url>
은 NuGet 패키지 레지스트리의 URL입니다.
예시:
dotnet nuget push MyPackage.1.0.0.nupkg --source https://gitlab.example.com/api/v4/projects/<your_project_id>/packages/nuget/index.json --api-key <gitlab_personal_access_token, deploy_token or job token>
CI/CD를 사용하여 NuGet 패키지 게시
- GitLab 13.3에서 도입되었습니다.
NuGet을 GitLab CI/CD와 함께 사용하는 경우, CI 작업 토큰을 사용하여 개인 액세스 토큰 또는 배포 토큰 대신 사용할 수 있습니다. 해당 토큰은 파이프라인을 생성한 사용자의 권한을 상속합니다.
다음 예제는 main
브랜치가 업데이트될 때마다 새로운 패키지를 생성하는 방법을 보여줍니다:
-
.gitlab-ci.yml
파일에deploy
작업을 추가합니다:image: mcr.microsoft.com/dotnet/core/sdk:3.1 stages: - deploy deploy: stage: deploy script: - dotnet pack -c Release - dotnet nuget add source "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/nuget/index.json" --name gitlab --username gitlab-ci-token --password $CI_JOB_TOKEN --store-password-in-clear-text - dotnet nuget push "bin/Release/*.nupkg" --source gitlab only: - main environment: production
-
변경 사항을 커밋하고 GitLab 리포지터리에 푸시하여 새 CI/CD 빌드를 트리거합니다.
Chocolatey CLI를 사용하여 NuGet 패키지 게시
- GitLab 16.2에서 도입되었습니다.
필수 조건:
- 프로젝트 수준 패키지 레지스트리가 Chocolatey의 소스여야 합니다.
Chocolatey CLI를 사용하여 패키지를 게시하려면:
choco push <package_file> --source <source_url> --api-key <gitlab_personal_access_token, deploy_token or job token>
이 명령에서:
-
<package_file>
은 패키지 파일명이며.nupkg
로 끝납니다. -
<source_url>
은 NuGet v2 피드 패키지 레지스트리의 URL입니다.
예시:
choco push MyPackage.1.0.0.nupkg --source "https://gitlab.example.com/api/v4/projects/<your_project_id>/packages/nuget/v2" --api-key <gitlab_personal_access_token, deploy_token or job token>
동일한 이름 또는 버전의 NuGet 패키지 게시
동일한 이름 또는 버전으로 패키지를 게시하는 경우, 기존 패키지가 덮어씌워집니다.
중복 NuGet 패키지 허용 안 함
중복 NuGet 패키지를 게시하지 않으려면 GraphQl API 또는 UI를 사용할 수 있습니다.
UI에서:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 그룹을 찾습니다.
- 설정 > 패키지 및 레지스트리를 선택합니다.
- NuGet 행의 중복 패키지 테이블에서 중복 허용 토글을 끕니다.
- 선택 사항입니다. 예외 텍스트 상자에 허용할 패키지의 이름과 버전과 일치하는 정규식을 입력합니다.
변경 사항은 자동으로 저장됩니다.
패키지 설치
만약 여러 패키지가 동일한 이름과 버전을 가지고 있다면, 패키지를 설치할 때 가장 최근에 게시된 패키지가 검색됩니다.
패키지 레지스트리에서 NuGet 패키지를 설치하려면 먼저 프로젝트 수준 또는 그룹 수준 엔드포인트를 추가해야 합니다.
NuGet CLI를 사용하여 패키지 설치
nuget
은 먼저 nuget.org
의 공식 소스를 확인합니다. nuget.org
에 있는 패키지와 패키지 레지스트리에 동일한 이름을 가진 NuGet 패키지가 있는 경우 올바른 패키지를 설치하려면 소스 이름을 명시해야 합니다.다음 명령을 실행하여 패키지의 최신 버전을 설치하세요:
nuget install <package_id> -OutputDirectory <output_directory> \
-Version <package_version> \
-Source <source_name>
-
<package_id>
는 패키지 ID입니다. -
<output_directory>
는 패키지가 설치되는 출력 디렉터리입니다. -
<package_version>
패키지 버전입니다. 선택 사항입니다. -
<source_name>
는 소스 이름입니다. 선택 사항입니다.
.NET CLI를 사용하여 패키지 설치
dotnet
이 설치 중에 소스를 확인하는 순서를 확인하세요. 이는 nuget.config
파일에서 정의됩니다.다음 명령을 실행하여 패키지의 최신 버전을 설치하세요:
dotnet add package <package_id> \
-v <package_version>
-
<package_id>
는 패키지 ID입니다. -
<package_version>
는 패키지 버전입니다. 선택 사항입니다.
NuGet v2 피드를 사용하여 패키지 설치
- GitLab 16.5에서 도입되었습니다.
필수 조건:
- 프로젝트 수준 패키지 레지스트리는 Chocolatey의 v2 피드 소스입니다.
- NuGet v2 피드를 사용하여 패키지를 설치하거나 업그레이드하는 경우 버전을 제공해야 합니다.
다음 명령을 실행하여 Chocolatey CLI로 패키지를 설치하세요:
choco install <package_id> -Source <source_url> -Version <package_version>
이 명령어에서:
-
<package_id>
는 패키지 ID입니다. -
<source_url>
은 NuGet v2 피드 패키지 레지스트리의 URL 또는 이름입니다. -
<package_version>
은 패키지 버전입니다.
예:
choco install MyPackage -Source gitlab -Version 1.0.2
# 또는
choco install MyPackage -Source "https://gitlab.example.com/api/v4/projects/<your_project_id>/packages/nuget/v2" -u <username> -p <gitlab_personal_access_token, deploy_token or job token> -Version 1.0.2
Chocolatey CLI를 사용하여 패키지를 업그레이드하려면:
choco upgrade <package_id> -Source <source_url> -Version <package_version>
이 명령어에서:
-
<package_id>
는 패키지 ID입니다. -
<source_url>
은 NuGet v2 피드 패키지 레지스트리의 URL 또는 이름입니다. -
<package_version>
은 패키지 버전입니다.
예:
choco upgrade MyPackage -Source gitlab -Version 1.0.3
패키지 삭제
- GitLab 16.5에서 도입되었습니다.
필수 조건:
- 프로젝트에서 Maintainer 역할 이상을 가지고 있어야 합니다.
- 패키지 이름과 버전을 모두 가져야 합니다.
NuGet CLI를 사용하여 패키지를 삭제하려면:
nuget delete <package_id> <package_version> -Source <source_name> -ApiKey <gitlab_personal_access_token, deploy_token or job token>
이 명령어에서:
-
<package_id>
는 패키지 ID입니다. -
<package_version>
는 패키지 버전입니다. -
<source_name>
은 소스 이름입니다.
예:
nuget delete MyPackage 1.0.0 -Source gitlab -ApiKey <gitlab_personal_access_token, deploy_token or job token>
심볼 패키지
- GitLab 14.1에서 도입되었습니다.
만약 .nupkg
를 푸시하면 .snupkg
형식의 심볼 패키지 파일이 자동으로 업로드됩니다. 매뉴얼으로도 업로드할 수 있습니다.
nuget push My.Package.snupkg -Source <source_name>
패키지 레지스트리를 심볼 서버로 사용
- GitLab 16.7에서 도입되었습니다.
GitLab은 NuGet 패키지 레지스트리에서 심볼 파일을 사용할 수 있으므로 패키지 레지스트리를 심볼 서버로 사용할 수 있습니다.
심볼 서버를 사용하려면:
-
GraphQl API에서
nuget_symbol_server_enabled
네임스페이스 설정을 활성화합니다. -
데버거를 설정하여 심볼 서버를 사용하세요. 예를 들어, Visual Studio를 구성하는 방법은 다음과 같습니다:
- 도구 > 환경 설정을 엽니다.
- 디버거 > 심볼 소스를 선택합니다.
- 추가를 선택합니다.
-
필수 필드를 채웁니다. 심볼 서버의 URL은 다음과 같습니다.:
https://gitlab.example.com/api/v4/projects/<your_project_id>/packages/nuget/symbolfiles -- 또는 -- https://gitlab.example.com/api/v4/groups/<your_group_id>/-/packages/nuget/symbolfiles
- 소스 추가를 선택합니다.
데버거를 구성한 후에는 응용 프로그램을 평소처럼 디버깅할 수 있습니다. 심볼 PDB 파일이 사용 가능한 한, 디버거는 패키지 레지스트리에서 심볼 PDB 파일을 자동으로 다운로드합니다.
심볼 패키지 사용
데버거가 심볼 패키지를 사용하도록 구성되었을 때, 요청 시 데버거는 다음과 같은 정보를 보냅니다:
-
Symbolchecksum
헤더: 심볼 파일의 SHA-256 체크섬. -
file_name
요청 매개변수: 심볼 파일의 이름. 예를 들어,mypackage.pdb
. -
signature
요청 매개변수: PDB 파일의 GUID 및 연령.
GitLab 서버는 이 정보를 심볼 파일과 일치시켜 반환합니다.
signature
및 Symbolchecksum
를 요구합니다.지원되는 CLI 명령어
nuget delete
및dotnet nuget delete
명령어는 GitLab 16.5에서 소개되었습니다.
GitLab NuGet 리포지터리는 NuGet CLI (nuget
) 및 .NET CLI (dotnet
)를 위해 다음과 같은 명령어를 지원합니다:
-
nuget push
: 패키지를 레지스트리에 업로드합니다. -
dotnet nuget push
: 패키지를 레지스트리에 업로드합니다. -
nuget install
: 레지스트리에서 패키지를 설치합니다. -
dotnet add
: 레지스트리에서 패키지를 설치합니다. -
nuget delete
: 레지스트리에서 패키지를 삭제합니다. -
dotnet nuget delete
: 레지스트리에서 패키지를 삭제합니다.
예제 프로젝트
예제로 다음을 참조하세요: GitVersion을 사용한 완전히 자동화된 소프트웨어 및 아티팩트 버전 관리의 Guided Exploration 프로젝트. 이 프로젝트는 다음을 수행합니다:
-
msbuild
방법에 의해 NuGet 패키지를 생성합니다. -
nuget.exe
방법에 의해 NuGet 패키지를 생성합니다. - GitLab 릴리스 및 NuGet 패키징과 관련하여
release-cli
를 사용합니다. - 복잡한 리포지터리에서 NuGet 패키지의 버전을 자동으로 결정하고 증가시키기 위해 GitVersion이라는 도구를 사용합니다.
이 예제 프로젝트를 귀하의 그룹이나 인스턴스로 복사하여 테스트할 수 있습니다. 프로젝트 페이지에서 기타 GitLab CI 패턴이 어떻게 demonstration 되었는지에 대한 자세한 내용을 확인하세요.
문제 해결
NuGet 캐시 지우기
성능을 향상시키기 위해 NuGet은 패키지와 관련된 파일을 캐시합니다. 문제가 발생하면 다음 명령어로 캐시를 지울 수 있습니다.
shell
nuget locals all -clear
Docker 기반 GitLab 설치에서 NuGet 패키지를 게시하려고 할 때 Error publishing
또는 Invalid Package: Failed metadata extraction error
메시지가 표시될 경우
내부 웹 서비스의 악용을 방지하기 위해 로컬 네트워크 주소로의 웹훅 요청이 차단됩니다. 만약 NuGet 패키지를 게시하려고 시도할 때 Error publishing
또는 Invalid Package
메시지를 받는다면, 네트워크 설정을 변경하여 웹훅 및 통합 요청을 로컬 네트워크에서 허용하십시오.