我们正在使用 Gitlab 版本 16.7,我想为我的 dotnet 类库项目创建一个调试配置文件。但我找不到有关该主题的详细文档。您可以在下面找到我的 CI/CD 设置。我找不到上传 .snupkg 包的位置,我尝试将其上传到“https://mygitlab.com/api/v4/projects/project-id/packages/nuget/symbolpackage”或者我尝试上传它到“https://mygitlab.com/api/v4/projects/project-id/packages/nuget/index.json”,但 Visual Studio 在两者中都看不到 .snupkg 文件。如何使用 Gitlab 调试项目?
stages:
- build
- deploy
image: mcr.microsoft.com/dotnet/sdk:7.0
variables:
OBJECTS_DIRECTORY: 'obj'
NUGET_PACKAGES_DIRECTORY: '.nuget'
SOURCE_CODE_PATH: '*/*/'
cache:
key: "$CI_JOB_STAGE-$CI_COMMIT_REF_SLUG"
paths:
- '$SOURCE_CODE_PATH$OBJECTS_DIRECTORY/project.assets.json'
- '$SOURCE_CODE_PATH$OBJECTS_DIRECTORY/*.csproj.nuget.*'
- '$NUGET_PACKAGES_DIRECTORY'
policy: pull-push
before_script:
- 'dotnet restore --packages $NUGET_PACKAGES_DIRECTORY'
- 'export VERSION_SUFFIX=beta$CI_PIPELINE_ID'
build:
stage: build
script:
- 'dotnet build --configuration Release'
deploy:
stage: deploy
script:
- 'dotnet pack -c Release /p:PackageVersion=1.0.0-$VERSION_SUFFIX --output $NUGET_PACKAGES_DIRECTORY --version-suffix $VERSION_SUFFIX --include-symbols -p:SymbolPackageFormat=snupkg'
- 'dotnet nuget add source "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/nuget" --name gitlab --username gitlab-ci-token --password $CI_JOB_TOKEN --store-password-in-clear-text'
- 'dotnet nuget push $NUGET_PACKAGES_DIRECTORY/*.nupkg --source gitlab'
environment: production
但是我找不到有关此主题的详细文档。
可能是因为尚未正式支持。
请参阅 gitlab-org 史诗 10825:
在 14.1 中添加了
Nuget 符号包功能 (.snupkg
)“符号包”文档保留:
尚不能保证使用 Visual Studio 或 dotnet-symbol 等客户端使用符号包。
文件可通过 UI 或 API 下载。.snupkg
一周前(2023 年 12 月 19 日),epic 说
该功能已部署到gitlab.com,在群组的包设置中启用符号服务器功能后即可使用。
目前仅支持可移植的 PDB 符号文件。
更多详细信息请参阅“包注册表中的 NuGet 包/使用包注册表作为符号服务器”: