我正在尝试从我的 git 管道执行 SAST 测试。我已将以下内容添加到我的 gitlab-ci.yml 文件中:
image: my-image-localtion
variables:
MAVEN_CLI_OPTS: "--batch-mode"
MAVEN_OPTS: "-Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.http.ssl.ignore.validity.dates=true"
include:
- template: Security/SAST.gitlab-ci.yml
stages:
- test
- build
- deploy
(more stuff..)
我们的gitlab服务器有SAST插件。我读到以上内容是我需要添加到项目的 gitlab-ci.yml 文件中才能执行 SAST 扫描的全部内容。但是,当您查看管道的执行时,作业输出显示“待处理”,然后:
This job is stuck because the project doesn't have any runners online assigned to it.
我的理解是,这项工作应该自动从 gitlab 分配一个默认运行程序,但显然这没有发生。另一个使用来自同一 gitlab 服务器的 SAST 扫描的团队不需要显式地将运行程序添加到作业中进行 SAST 测试,并且他们的 gitlab-ci.yml 与我添加的相同。
感谢任何建议。谢谢你
想通了。在我们的 gitlab 服务器上,我们有共享的运行程序,它们应该接收 SAST 测试作业,但它们具有与之关联的标签,以便分配作业。在我的 gitlab-ci.yml 中,我需要使用标签显式定义作业。我没有那样做。这是我添加的内容:
sast:
stage: test
tags:
- java
“java”标签被分配给我们的几个跑步者,因此它选择了它并运行完成。