.net 通过GitLab管道为dotnet项目配置JFROG CLI和Xray

dxxyhpgq  于 2022-12-24  发布在  .NET
关注(0)|答案(1)|浏览(188)

我想通过管道配置dotnet项目的漏洞和许可证违规的构建工件和依赖项扫描。我是JFrog工件和Xray的新手,当前我的管道失败,错误为:

[Error] resolver information is missing within /builds/project-name/.jfrog/projects/dotnet.yaml

我跟踪了这个documentation。它从来没有提到我必须有这个文件,我也找不到这个文件应该是什么样子的。其他人有类似的问题吗?
这是我的GitLab管道配置文件的当前状态:

......
    xray:
      stage: Xray
      image: mcr.microsoft.com/dotnet/sdk:3.1
      before_script:
        - PROXY_ADDRESS="${PROXY_ADDRESS}"
        - chmod +x add-proxy.sh
        - ./add-proxy.sh "PROXY_ADDRESS"
        - source /etc/profile.d/proxy.sh
      script:
        - apt update && apt upgrade --yes
        - apt install curl --yes
        - curl -fL https://getcli.jfrog.io | sh
        - ./jfrog config add project-name --artifactory-url="${JFROG_FULL_URL}" --user="${JFROG_USER}" --access-token="${JFROG_TOKEN}"
        - ./jfrog config show
        - ./jfrog config use project-name
        - ./jfrog rt dotnet-config
        - ./jfrog rt dotnet restore -s nuget.config --build-name=$CI_JOB_NAME --build-number=$CI_JOB_ID
        - ./jfrog rt dotnet pack ./project-name/project-name.csproj --build-name=$CI_JOB_NAME --build-number=$CI_JOB_ID
        - ./jfrog rt build-collect-env $CI_JOB_NAME $CI_JOB_ID
        - ./jfrog rt build-add-git $CI_JOB_NAME $CI_JOB_ID
        - ./jfrog rt build-publish $CI_JOB_NAME $CI_JOB_ID
        - ./jfrog rt build-scan $CI_JOB_NAME $CI_JOB_ID

在此行中抛出错误:

- ./jfrog rt dotnet restore -s nuget.config --build-name=$CI_JOB_NAME --build-number=$CI_JOB_ID

任何帮助都将不胜感激。

zujrkrfu

zujrkrfu1#

默认情况下,jfrog rt dotnet-config命令是交互式命令。
命令创建jfrog rt dotnet命令使用的项目配置。
由于您是在CI中运行它,因此可以为config命令提供解析详细信息和标志。有关详细信息,请参阅命令帮助:

$ jfrog dotnet-config -h

Name:
  jfrog dotnet-config - Generate dotnet configuration.

Usage:
  jfrog dotnet-config [command options]

Options:
  --global               [Default: false] Set to true if you'd like the configuration to be global (for all projects). Specific projects can override the global configuration.
  --nuget-v2             [Default: false] Set to true if you'd like to use the NuGet V2 protocol when restoring packages from Artifactory.
  --repo-resolve         [Optional] Repository for dependencies resolution.
  --server-id-resolve    [Optional] Artifactory server ID for resolution. The server should configured using the 'jfrog c add' command.

附言:
这个博客有点过时,仍然建议使用旧版本的JFrog CLI。
由于您正在配置一个新的管道,我建议升级到JFrog CLI v2。这需要对您的脚本进行一些修改,但是由于v1现在几乎没有得到任何更新,所以应该值得这样做。
安装命令应更改为curl -fL https://install-cli.jfrog.io | sh,这将使用新的可执行文件名jf全局安装CLI。这意味着脚本中的./jfrog应更改为jf
Dotnet命令被移动到jf命名空间(./jfrog rt dotnet ...-〉jf dotnet ...
所有变更均记录在此处。

相关问题