有谁能帮帮我呢?
由以下gitlab-ci.yml组成:
DT_SCA:
stage: test
script:
- git clone https://gitlab.com/.../test.git
- cd test/
- curl
-X "PUT" "http://х.х.х.х:8080/api/v1/bom"
-H "X-API-Key:xxxx"
-H "Content-Type:multipart/form-data" /// option 2. -H "Content-Type:application/json'
-d @хххх.xml /// option 2. -d @хххх.json我得到一个500错误(内部服务器错误)。
尝试不同的变化,总是不同的错误。
同时,没有正式的融合可能性。请帮帮我。
有现成的解决办法吗?谢谢!
发布于 2022-07-12 06:21:22
我在前端/nodejs中使用了类似的东西:
我有一个运行sbom的文件
cyclonedx-node -d -t application -o ./bom.json另一个deptrack.sh:
version=`node -p "process.env.npm_package_version"`
name=`node -p "process.env.npm_package_name"`
curl -X 'POST' 'http://--your IP--:8081/api/v1/bom'\
-H 'Content-Type: multipart/form-data' \
-H 'X-Api-Key: --your key--' \
-F "projectName=$name" \
-F "projectVersion=$version" \
-F 'autoCreate=true' \
-x "" \
-F 'bom=@./bom.json'在我的package.json中,我有两个从管道中触发的脚本:
"scripts": {
"sbom": "sh ./sbom.sh",
"deptrack": "sh ./deptrack.sh"
},在您的gitlab.ci中,您可以得到以下工作:
sbom:
stage: compile
image: --your nodejs image--
tags:
- docker
script:
- npm ci
- npm run sbom
- npm run deptrack
only:
- master
interruptible: true发布于 2022-10-18 09:31:30
当我用三叶草生成SBOM时,这就是我如何将其结果发送到依赖项跟踪的方式:
dt-import-sbom-scan:
extends: .dt-upload
needs: ["trivy-fs-sbom-scan"]
script:
- |
curl -X "POST" "http://<YOUR_URL>/api/v1/bom" \
-H 'Content-Type: application/json' \
-H "X-Api-Key: $DT-API-KEY" \
-F "autoCreate=true" \
-F "projectName=$CI_PROJECT_NAME" \
-F "projectVersion=$CI_COMMIT_BRANCH" \
-F "bom=@trivy-filesystem-sbom.json"
rules:
- if: $TRIVY_FS_SBOM == "false"
when: never对于.dt-upload,我使用了以下方法:
.dt-upload:
stage: .post
image: docker:stable
services:
- name: docker:dind
before_script:
- apk add --update curlhttps://stackoverflow.com/questions/72911670
复制相似问题