jq:在GitLab CI文件中找不到命令



In .gitlab-ci.yml

stages:
- test-jq
test-jq:
stage: test-jq
image: ruby:2.5
script:
- apt-get update
- apt-get install -y git jq
- git config --global user.email "$GITLAB_USER_EMAIL"
- git config --global user.name "$GITLAB_USER_NAME"
- LAST_COMMIT_SHA=$(
curl -s 
--header "PRIVATE-TOKEN:$CLONE_KEY" 
"$CI_API_V4_URL/projects/$CI_PROJECT_ID/repository/commits/$CI_COMMIT_SHA" |
jq -r '.parent_ids | del(.[] | select(. == "'$CI_COMMIT_BEFORE_SHA'")) | .[-1]'
)

抛出错误:/bin/bash:第158行:jq: command not found

另一种方法是在脚本之前设置所有的安装部分,如下所示,使用before_script:

image: node:latest
before_script:
- apt-get -qq update
- apt-get install -y jq

这样,您就可以确保在脚本启动时正确设置了环境。

最新更新