我尝试在我的项目中启用 SAST,但在执行作业时出现错误。
Gitlab 跑步者信息
Gitlab-ci 结构
image: node:14.15.4
stages:
- install
- build
- test
- deploy
workflow:
rules:
- if: $CI_COMMIT_BRANCH
before_script:
- |
{
echo "@${CI_PROJECT_ROOT_NAMESPACE}:registry=${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/npm/"
echo "${CI_API_V4_URL#https?}/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=\${CI_JOB_TOKEN}"
} | tee --append .npmrc
include:
- template: Security/SAST.gitlab-ci.yml
- template: Security/Secret-Detection.gitlab-ci.yml
工作出错
$ { # collapsed multi-line command
tee: unrecognized option: append
BusyBox v1.31.1 () multi-call binary.
Usage: tee [-ai] [FILE]...
Copy stdin to each FILE, and also to stdout
-a Append to the given FILEs, don't overwrite
-i Ignore interrupt signals (SIGINT)
答案 0 :(得分:0)
原因很简单,tee有两种实现方式,
tee
,但不提供 --append
。 它确实提供了一个 -a
选项(append 的缩写),它被定义为“附加到给定的文件,不要覆盖”tee
too 它有 --append
,您在这里使用它。它也被定义为“附加到给定的文件,不要覆盖”。但作为简写,GNU Tee 还提供了别名 -a
。简而言之,如果您希望某些东西与 Alpine 和 BusyBox 以及附带 GNU Tee 的发行版兼容,那么请使用 -a
(两者都支持)而不是 --append
(仅在 GNU 中支持)三通)。