Я пытаюсь настроить непрерывную интеграцию в хранилище gitlab.
Я добавил следующий gitlab-ci.yml
:
stages:
- test
test:
image: python:3.7
script:
- python -v
tags:
- python
На gitlab, в settings-> CI/CD, я следовал инструкциям в "Настройте конкретного бегуна вручную". Во время шага "пожалуйста, введите исполнителя:", я вошел в "оболочку".
Когда я пытаюсь зафиксировать указанный выше yml
файл, запускается запуск, хотя он выдает следующее сообщение об ошибке:
Running with gitlab-runner 11.9.2 (fa86510e)
on wsf-1102 HUx_zvP8
Using Shell executor...
Running on WSF-1102...
DEPRECATION: this GitLab server doesn't support refspecs, gitlab-runner 12.0 will no longer work with this version of GitLab
Fetching changes...
Clean repository
From [my_repo]
e327c9f..2f0e41f [my_branch]-> origin/[my_branch]
Checking out 2f0e41f1 as [my_branch]...
Skipping Git submodules setup
$ python -v
'python' is not recognized as an internal or external command,
operable program or batch file.
ERROR: Job failed: exit status 9009
Как правильно написать файл yml
, чтобы я мог использовать python
в качестве команды для последующего запуска файла test.py
?
проблема не в бегуне внутри вашего образа докера. внутри контекста runner у вас не установлен python, чтобы подтвердить первый тест, что python правильно установлен в вашем терминальном пути. затем начните с выполнения оболочки только для отладки перед использованием и образа докера
попробуйте запустить эту команду
gitlab-runner exec shell test
на этом простом .gitlab-ci.yml (поместите файл в вашу папку git repo)
stages:
- test
test:
script:
- python -v
затем попробуйте поработать с изображением питона, если вы хотите использовать этот образ, вам нужно указать, что вы хотите запустить с Docker Runner после того, как вы протестируете вышеописанные случаи, снова запустите на локальном компьютере
gitlab-runner exec docker test
если вы все еще не поняли, попробуйте следовать этому руководству https://substrakt.com/journal/how-to-debug-gitlab-ci-builds-locally/