Миграция Google Cloud Build Push Во Время Сборки

# #ruby-on-rails #google-cloud-platform #google-cloud-build

#рубин на рельсах #google-облачная платформа #google-облачная сборка

Вопрос:

В настоящее время мне нужно выполнить настройку cloudbuild:

 - id: "apply migrations" name: "gcr.io/google-appengine/exec-wrapper" entrypoint: "bash" args:  [  "-c",  "/buildstep/execute.sh -i gcr.io/${PROJECT_ID}/${_SERVICE_NAME} -s ${PROJECT_ID}:${_REGION}:${_INSTANCE_NAME} -e RAILS_MASTER_KEY=$RAILS_KEY -- bundle exec rails db:migrate",  ] secretEnv: ["RAILS_KEY"]  

При сборке я получаю следующую ошибку на этапе миграции:

 Caused by: Step #3 - "apply migrations": PG::ConnectionBad: could not connect to server: No such file or directory Step #3 - "apply migrations": Is the server running locally and accepting Step #3 - "apply migrations": connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?  

Что может привести к возникновению этой ошибки? Я не могу найти ничего по этому вопросу.

Комментарии:

1. Где находится база данных? В облачном SQL?

2. Да, это облачная база данных SQL

3. Является ли ваша база данных общедоступной? Или у вас есть только частный IP-адрес?

4. @guillaumeblaquiere он общедоступен с общедоступным IP-адресом

Ответ №1:

Ошибка связана с невозможностью подключения к базе данных, похоже, что замены работают неправильно, чтобы исправить это, убедитесь, что в ваших .env файлах указаны правильные переменные и заполнена информация из вашего экземпляра.

Если файл содержит необходимую информацию, попробуйте удалить --substitutions флаг и заменить переменные ( ${PROJECT_ID} , ${_SERVICE_NAME} , ${_INSTANCE_NAME} и так далее) правильными значениями непосредственно в cloudbuild.yaml файле.