Спасибо, что нашли время, чтобы прочитать это.
У нас есть триггер сборки, подключенный к нашему репозиторию bitbucket, который создает контейнер докеров нашего сервера и сохраняет его в виде образа в реестре контейнеров в Google Cloud Console.
У нас также есть экземпляр виртуальной машины, созданный в Compute Engine, который ссылается на этот образ. В общем, все работает нормально. Мы можем запустить наше приложение в качестве контейнера докеров на этой виртуальной машине. Мы без проблем можем подключиться к нему удаленно.
Чтобы упростить наш процесс, мы хотели, чтобы триггер сборки принудительно перезагружал виртуальную машину, чтобы она всегда выполняла самую последнюю версию контейнера докеров.
Мы сделали это, создав облачную функцию. В теме: облачные сборки мы запускаем скрипт python, который сбрасывает наш экземпляр виртуальной машины. Мы также знаем, что это работает, поскольку всякий раз, когда сборка завершается, мы можем видеть сброс виртуальной машины в журналах виртуальной машины.
Проблема в том, что почему-то не всегда подхватывает последний образ. На самом деле, иногда ручной сброс виртуальной машины этого не делает. Прежде чем появится новый образ контейнера, требуется несколько сбросов (от 2 до 3).
Что-то не так с нашим подходом к этому? Или есть определенное количество времени (минута или около того), которое должно пройти, прежде чем новый образ контейнера станет доступным для использования в экземпляре виртуальной машины?
Еще раз спасибо.