.gitlab-ci.yml 错误:“apk:找不到命令”

Xar*_*Xar 7 gitlab docker gitlab-ci

我有以下.gitlab-ci.yml文件:

image: docker

services:
  - docker:dind

stages:
  - test
  - build
  - deploy

test:
  stage: test
  before_script:
    - apk add --update -y python-pip
    - pip install docker-compose
  script:
    - echo "Testing the app"
    - docker-compose run app sh -c "python manage.py test && flake8"

build:
  stage: build
  only:
    - develop
    - production
    - feature/deploy-debug-gitlab
  before_script:
    - apk add --update -y python-pip
    - pip install docker-compose
  script:
    - echo "Building the app"
    - docker-compose build

deploy:
  stage: deploy
  only:
    - master
    - develop
    - feature/deploy
    - feature/deploy-debug-gitlab
  before_script:
    - apk add --update -y python-pip
    - pip install docker-compose
  script:
    - echo "Deploying the app"
    - docker-compose up -d
  environment: production
  when: manual

Run Code Online (Sandbox Code Playgroud)

当 Gitlab 运行程序执行它时,我收到以下错误:

$ apk add --update -y python-pip
bash: line 82: apk: command not found
ERROR: Job failed: exit status 1
Run Code Online (Sandbox Code Playgroud)

我应该如何安装apk?或者除了docker我应该使用什么图像来运行这个gitlab-ci.yml文件?

Xar*_*Xar 5

好吧,事实证明我有两个不同的运行程序:一个标记为“shell executor”(Ubuntu),另一个标记为“docker executor”。

只有在 Ubuntu 运行程序分派作业时才会抛出此错误,因为 Ubuntu 没有附带 apk。

我禁用了 Ubuntu 运行器并解决了问题。