Я, наконец, сумел заставить его работать, чтобы при нажатии на задание на ветку запускалось, но я продолжаю ждать, пока он запустится около 3 минут, а затем у меня появятся ошибки, которые мне нужно исправить, а затем снова зафиксировать, а затем ожидание снова. Как я могу просто передать ssh этому публичному бегуну и проверить.gitlab-ci.yml "script" часть только в bash?
Как проверить gitlab-ci.yml?
Ответ 1
Вы можете запускать сборки локально (если вы управляете бегуном, который есть), используя gitlab-runner exec
как описано в официальных документах здесь.
Убедитесь, что вы также проверяете ограничения тестовых заданий таким образом.
Ответ 2
Установите gitlab-runner
OS=darwin
#OS=linux # Uncomment on linux
sudo curl --output /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-${OS}-amd64
sudo chmod +x /usr/local/bin/gitlab-runner
Официальные документы gitlab-runner здесь
Создать команду
Следующий .gitlab-ci.yml
определяет задачу с именем build
:
build:
script:
- echo "Hello World"
Запустите команду локально (применяются ограничения!)
gitlab-runner exec shell build
Когда я запускаю вышеупомянутое локально, я получаю следующий вывод:
Running with gitlab-runner 11.3.1~beta.4.g0aa5179e (0aa5179e)
Using Shell executor...
Running on cory-klein.local...
Cloning repository...
Cloning into '/Users/coryklein/code/prometheus-redis-exporter/builds/0/project-0'...
done.
Checking out 66fff899 as master...
Skipping Git submodules setup
$ echo "Hello World"
Hello World
Job succeeded
Ответ 3
Для справки: Вы также можете скопировать и вставить свой gitlab-ci.yml в форму linter, предоставленную gitlab.
В зависимости от того, какую IDE вы используете, вы можете найти плагины, которые проверяют правильность. Например, в VS Code вы можете использовать плагин gitlab-vscode-extension, который может проверять ваш файл .gitlab-ci.yml.
Ответ 4
Правильный ответ заключается в том, что вы не можете протестировать свой конвейер сборки, не передавая исходный код в ваш репозиторий. Вы можете проверить только одно задание - скорее всего, первое задание - вашего конвейера сборки с помощью gitlab-runner exec.
Поскольку вы не можете запускать несколько заданий, вы не можете связать какие-либо шаги подготовки или сборки ни с чем другим. Невозможно остановить gitlab-runner от создания чистой проверки и уничтожить шаги подготовки/сборки.
Лучшим/единственным способом тестирования является создание ветки и сохранение силы нажатия на.gitlab-ci.yml.