Ошибка .gitlab-ci.yml: «apk: команда не найдена»

У меня есть следующий файл .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

Когда бегун Gitlab выполняет его, я получаю следующую ошибку:

$ apk add --update -y python-pip
bash: line 82: apk: command not found
ERROR: Job failed: exit status 1

Как мне установить apk? Или какое изображение, кроме docker, я должен использовать для запуска этого gitlab-ci.yml файла?

Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
Как создать PHP Image с нуля
Как создать PHP Image с нуля
Сегодня мы создадим PHP Image from Scratch для того, чтобы легко развернуть базовые PHP-приложения. Пожалуйста, имейте в виду, что это разработка для...
8
0
8 942
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Альтернативой является установка установки на шаге над test, как в Эта проблема.

image: docker:latest

services:
- docker:dind

before_script:
- apk add --update python-pip

Спасибо @VonC, но эта альтернатива дает мне ту же ошибку: «команда apk не найдена». На самом деле, я понял, что задача случайно не выполняется. Чаще всего вылетает с этой ошибкой, но иногда проходит успешно. Я должен нажать «Повторить попытку», пока он не пройдет. Я действительно смущен.

Xar 31.05.2019 10:31

Странно, может быть, какая-то проблема с сетевым подключением?

VonC 31.05.2019 13:29

@Jaumzera Это проблема бегуна? (stackoverflow.com/a/56392255/6309)

VonC 08.08.2019 23:39
Ответ принят как подходящий

Что ж, оказывается, у меня было два разных раннера: один помечен как «исполнитель оболочки» (Ubuntu), а другой помечен как «исполнитель докера».

Эта ошибка выбрасывалась только тогда, когда бегун Ubuntu отправлял задание, поскольку Ubuntu не поставляется с apk.

Я отключил бегун Ubuntu и решил проблему.

Хорошо подмечено, точнее, чем мой ответ. Проголосовал.

VonC 06.06.2019 22:52

Вам нужно было настроить для этого собственный GitLab runner, у меня такая же проблема.

jfive 24.03.2020 09:47

Другие вопросы по теме