如何在 gitlab 中使用符号服务器

问题描述 投票:0回答:1

我们正在使用 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
.net-core gitlab gitlab-ci cicd debug-symbols
1个回答
0
投票

但是我找不到有关此主题的详细文档。

可能是因为尚未正式支持。
请参阅 gitlab-org 史诗 10825:

在 14.1 中添加了

Nuget 符号包功能 (
.snupkg)

符号包”文档保留:

尚不能保证使用 Visual Studio 或 dotnet-symbol 等客户端使用符号包。

.snupkg
文件可通过 UI 或 API 下载。

一周前(2023 年 12 月 19 日),epic 说

该功能已部署到gitlab.com,在群组的包设置中启用符号服务器功能后即可使用。

目前仅支持可移植的 PDB 符号文件。

更多详细信息请参阅“包注册表中的 NuGet 包/使用包注册表作为符号服务器”:

© www.soinside.com 2019 - 2024. All rights reserved.