# #gitlab #google-compute-engine
#gitlab #google-compute-engine
Вопрос:
Я работаю над изображением для шаблона compute Engine, который будет использоваться в балансировщике нагрузки. У меня все готово к работе, включая GitLab pipline, который запускается при данном слиянии ветвей.
Моя проблема сейчас в том, что я хочу, чтобы это запускалось при загрузке нового экземпляра. Это позволяет новому экземпляру всегда быть самым современным запущенным кодом.
Я использую API gitlab для запуска этого конвейера с помощью сценария запуска. Все это работает нормально и хорошо, однако на полпути я получаю следующую ошибку
Session terminated, killing shell... ...killed.
ERROR: Job failed: aborted: terminated
Сценарий запуска для Compute Engine выглядит следующим образом
sudo gitlab-runner register --non-interactive -u https://gitlab.com -r <token> --executor shell
curl --request POST --form token=<token> --form ref=feature/devops-auto-deploy https://gitlab.com/api/v4/projects/<project_id>/trigger/pipeline
Это настраивает бегун
Затем запускает конвейер
Тот же конвейер работает, когда сервер запущен и запущен. Существует ли какой-либо тип тайм-аута в сценариях запуска Google?
Не уверен, что здесь происходит. Есть идеи?
спасибо всем
Комментарии:
1. Я бы предположил, что регистр gitlab-runner не может запускаться только при запуске. В документации gitlab: docs.gitlab.com/ee/install/google_cloud_platform/… Сначала должна вращаться виртуальная машина, а затем на нее можно установить и настроить GitLab. Сценарий запуска просто запускает команду, я не думаю, что для них есть тайм-аут. Единственный тайм-аут, о котором я знаю, — это 7 минут, когда сервер метаданных недоступен. cloud.google.com/compute/docs/startupscript#troubleshooting
2. Вы можете дополнительно проверить журналы сценариев запуска для получения дополнительных подсказок: cloud.google.com/compute/docs /…
3. Я действительно смог это исправить, добавив amp;amp; между двумя командами. ну, это начало работать правильно, как только я это сделал