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
这样,您就可以确保在脚本启动时正确设置了环境。