Сбой docker compose на этапе сборки gitlab-ci
Я пытаюсь собрать gitlab-ci, но на одном из этапов сборка не получается. Я застреваю на этапе сборки. Он не распознает python, а я пытаюсь установить его, чтобы собрать образ и протестировать его с помощью robot framework
gitlab-ci.yaml
Выдает ошибку /bin/sh: eval: line 153: apt-get: not found
Как сказал @slauth в своем комментарии, образ docker/compose
основан на Alpine Linux, который использует менеджер пакетов apk
, а не apt
. Однако, скорее всего, вы не сможете использовать образ debian
, поскольку вам нужна функциональность docker/compose
. В этом случае вы можете использовать apk
для установки python вместо apt-get, точно так же, как вы устанавливаете bash
в разделе script
этой работы:
apk add --update --no-cache python3 && ln -sf python3 /usr/bin/python
(Это взято из соответствующего ответа здесь ).
Однако установка и обновление пакетов в конвейере CI/CD, как правило, является плохой практикой, поскольку в зависимости от количества запущенных вами конвейеров это может значительно замедлить процесс разработки. Вместо этого вы можете создавать собственные образы docker на основе того образа, который вам нужен, и устанавливать туда свои пакеты. Например, вы можете создать новый образ на основе docker/composer
, установить туда python, bash и т.д. Затем разместите новый образ либо в Docker Hub, либо во встроенном в Gitlab реестре докеров, либо в другом доступном вам реестре. Наконец, в вашем файле .gitlab-ci.yml
вы просто измените docker/compose
на ваш новый образ.
Для получения дополнительной информации по этой части, вы можете посмотреть другой ответ, который я написал на аналогичный вопрос здесь.